﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema id="LanguageDSLSchema" targetNamespace="http://schemas.microsoft.com/dsltools/LanguageDSL" elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/dsltools/LanguageDSL" xmlns:core="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:import id="CoreSchema" namespace="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" />
  <!-- MetaModel -->
  <xsd:element name="MetaModel" type="MetaModel" substitutionGroup="baseMetaModel" />
  <xsd:complexType name="MetaModel">
    <xsd:complexContent>
      <xsd:extension base="BaseMetaModel">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: MetaModelHasDomainTypes -->
          <xsd:element name="domainTypes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of MetaModelHasDomainTypes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                  <xsd:element ref="metaModelHasDomainTypes">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from MetaModelHasDomainTypes needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="domainType" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: MetaModelHasValidation -->
          <xsd:element name="validation" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of MetaModelHasValidation</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="metaModelHasValidation" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of MetaModelHasValidation needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: MetaModelHasAdditionalInformation -->
          <xsd:element name="additionalInformation" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of MetaModelHasAdditionalInformation</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="metaModelHasAdditionalInformation" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of MetaModelHasAdditionalInformation needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: MetaModelHasMetaModelLibraries -->
          <xsd:element name="metaModelLibraries" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of MetaModelHasMetaModelLibraries</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="metaModelHasMetaModelLibraries" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of MetaModelHasMetaModelLibraries needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: MetaModelHasView -->
          <xsd:element ref="metaModelHasView" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Instance of MetaModelHasView needs to be serialized in full-form]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <!-- Relationship: MetaModelHasModelContexts -->
          <xsd:element name="modelContexts" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of MetaModelHasModelContexts</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="metaModelHasModelContexts" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of MetaModelHasModelContexts needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: MetaModelHasPropertyGridEditors -->
          <xsd:element name="propertyGridEditors" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of MetaModelHasPropertyGridEditors</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="unbounded" >
                  <xsd:element ref="metaModelHasPropertyGridEditors">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from MetaModelHasPropertyGridEditors needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="propertyGridEditor" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- dslVersion -->
        <xsd:attribute name="dslVersion" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Version of the model serialized in this file.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Name -->
        <xsd:attribute name="name" type="xsd:string" use="required" />
        <!-- Property: CompanyName -->
        <xsd:attribute name="companyName" type="xsd:string" />
        <!-- Property: Namespace -->
        <xsd:attribute name="namespace" type="xsd:string" />
        <!-- Property: ProductName -->
        <xsd:attribute name="productName" type="xsd:string" />
        <!-- Property: Description -->
        <xsd:attribute name="description" type="xsd:string" />
        <!-- Property: Build -->
        <xsd:attribute name="build" type="xsd:string" />
        <!-- Property: MajorVersion -->
        <xsd:attribute name="majorVersion" type="xsd:string" />
        <!-- Property: MinorVersion -->
        <xsd:attribute name="minorVersion" type="xsd:string" />
        <!-- Property: Revision -->
        <xsd:attribute name="revision" type="xsd:string" />
        <!-- Property: DisplayName -->
        <xsd:attribute name="displayName" type="xsd:string" />
        <!-- Property: ApplicationName -->
        <xsd:attribute name="applicationName" type="xsd:string" />
        <!-- Property: LayoutEmbeddedPath -->
        <xsd:attribute name="layoutEmbeddedPath" type="xsd:string" />
        <!-- Property: LayoutDVEmbeddedPath -->
        <xsd:attribute name="layoutDVEmbeddedPath" type="xsd:string" />
        <!-- Property: PackageGuid -->
        <xsd:attribute name="packageGuid" type="xsd:string" />
        <!-- Property: CustomExtensionGuid -->
        <xsd:attribute name="customExtensionGuid" type="xsd:string" />
        <!-- Property: CustomExtension -->
        <xsd:attribute name="customExtension" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>This is only relevant for the VS-Plugin DSL.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: LanguageType -->
        <xsd:attribute name="languageType" type="LanguageType" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModel Moniker -->
  <xsd:element name="metaModelMoniker" type="MetaModelMoniker" substitutionGroup="baseMetaModelMoniker" />
  <xsd:complexType name="MetaModelMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModel instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="BaseMetaModelMoniker">
        <xsd:attribute name="name" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainElement -->
  <xsd:element name="domainElement" abstract="true" type="DomainElement" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainElement" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainElement Moniker -->
  <xsd:element name="domainElementMoniker" abstract="true" type="DomainElementMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- NamedDomainElement -->
  <xsd:element name="namedDomainElement" abstract="true" type="NamedDomainElement" substitutionGroup="domainElement" />
  <xsd:complexType name="NamedDomainElement" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="DomainElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: DisplayName -->
        <xsd:attribute name="displayName" type="xsd:string" />
        <!-- Property: IsDisplayNameTracking -->
        <xsd:attribute name="isDisplayNameTracking" type="TrackingEnum" />
        <!-- Property: Description -->
        <xsd:attribute name="description" type="xsd:string" />
        <!-- Property: Name -->
        <xsd:attribute name="name" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- NamedDomainElement Moniker -->
  <xsd:element name="namedDomainElementMoniker" abstract="true" type="NamedDomainElementMoniker" substitutionGroup="domainElementMoniker" />
  <xsd:complexType name="NamedDomainElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for NamedDomainElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AttributedDomainElement -->
  <xsd:element name="attributedDomainElement" abstract="true" type="AttributedDomainElement" substitutionGroup="generatedDomainElement" />
  <xsd:complexType name="AttributedDomainElement" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="GeneratedDomainElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: AttributedDomainElementHasProperties -->
          <xsd:element name="properties" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of AttributedDomainElementHasProperties</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="attributedDomainElementHasProperties" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of AttributedDomainElementHasProperties needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: SerializationName -->
        <xsd:attribute name="serializationName" type="xsd:string" />
        <!-- Property: IsSerializationNameTracking -->
        <xsd:attribute name="isSerializationNameTracking" type="TrackingEnum" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AttributedDomainElement Moniker -->
  <xsd:element name="attributedDomainElementMoniker" abstract="true" type="AttributedDomainElementMoniker" substitutionGroup="generatedDomainElementMoniker" />
  <xsd:complexType name="AttributedDomainElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for AttributedDomainElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="GeneratedDomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainProperty -->
  <xsd:element name="domainProperty" type="DomainProperty" substitutionGroup="domainElement" />
  <xsd:complexType name="DomainProperty">
    <xsd:complexContent>
      <xsd:extension base="DomainElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DomainPropertyReferencesType -->
          <xsd:element name="type" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainPropertyReferencesType</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="1" maxOccurs="1" >
                  <xsd:element ref="domainPropertyReferencesType">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from DomainPropertyReferencesType needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="domainTypeMoniker" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Name -->
        <xsd:attribute name="name" type="xsd:string" />
        <!-- Property: IsElementName -->
        <xsd:attribute name="isElementName" type="xsd:boolean" />
        <!-- Property: IsRequired -->
        <xsd:attribute name="isRequired" type="xsd:boolean" />
        <!-- Property: DisplayName -->
        <xsd:attribute name="displayName" type="xsd:string" />
        <!-- Property: Description -->
        <xsd:attribute name="description" type="xsd:string" />
        <!-- Property: DefaultValue -->
        <xsd:attribute name="defaultValue" type="xsd:string" />
        <!-- Property: Category -->
        <xsd:attribute name="category" type="xsd:string" />
        <!-- Property: IsBrowsable -->
        <xsd:attribute name="isBrowsable" type="xsd:boolean" />
        <!-- Property: GetterAccessModifier -->
        <xsd:attribute name="getterAccessModifier" type="AccessModifier" />
        <!-- Property: SetterAccessModifier -->
        <xsd:attribute name="setterAccessModifier" type="AccessModifier" />
        <!-- Property: IsDisplayNameTracking -->
        <xsd:attribute name="isDisplayNameTracking" type="TrackingEnum" />
        <!-- Property: SerializationName -->
        <xsd:attribute name="serializationName" type="xsd:string" />
        <!-- Property: IsSerializationNameTracking -->
        <xsd:attribute name="isSerializationNameTracking" type="TrackingEnum" />
        <!-- Property: SerializationRepresentationType -->
        <xsd:attribute name="serializationRepresentationType" type="SerializationRepresentationType" />
        <!-- Property: IsUIReadOnly -->
        <xsd:attribute name="isUIReadOnly" type="xsd:boolean" />
        <!-- Property: PropertyKind -->
        <xsd:attribute name="propertyKind" type="PropertyKind" />
        <!-- Property: IsCustomCreated -->
        <xsd:attribute name="isCustomCreated" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainProperty Moniker -->
  <xsd:element name="domainPropertyMoniker" type="DomainPropertyMoniker" substitutionGroup="domainElementMoniker" />
  <xsd:complexType name="DomainPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainProperty instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationship -->
  <xsd:element name="domainRelationship" abstract="true" type="DomainRelationship" substitutionGroup="attributedDomainElement" />
  <xsd:complexType name="DomainRelationship" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="AttributedDomainElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DomainRelationshipHasRoles -->
          <xsd:element name="roles" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DomainRelationshipHasRoles</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainRelationshipHasRoles" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainRelationshipHasRoles needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: DomainRelationshipReferencesSource -->
          <xsd:element name="source" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainRelationshipReferencesSource</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainRelationshipReferencesSource" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainRelationshipReferencesSource needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: DomainRelationshipReferencesTarget -->
          <xsd:element name="target" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainRelationshipReferencesTarget</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainRelationshipReferencesTarget" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainRelationshipReferencesTarget needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: DomainRelationshipReferencesBaseRelationship -->
          <xsd:element name="baseRelationship" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainRelationshipReferencesBaseRelationship</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainRelationshipReferencesBaseRelationship" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainRelationshipReferencesBaseRelationship needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsNameTracking -->
        <xsd:attribute name="isNameTracking" type="TrackingEnum" />
        <!-- Property: AllowsDuplicates -->
        <xsd:attribute name="allowsDuplicates" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationship Moniker -->
  <xsd:element name="domainRelationshipMoniker" abstract="true" type="DomainRelationshipMoniker" substitutionGroup="attributedDomainElementMoniker" />
  <xsd:complexType name="DomainRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="AttributedDomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainClass -->
  <xsd:element name="domainClass" type="DomainClass" substitutionGroup="attributedDomainElement" />
  <xsd:complexType name="DomainClass">
    <xsd:complexContent>
      <xsd:extension base="AttributedDomainElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DomainClassReferencesBaseClass -->
          <xsd:element name="baseClass" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainClassReferencesBaseClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainClassReferencesBaseClass" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainClassReferencesBaseClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsDomainModel -->
        <xsd:attribute name="isDomainModel" type="xsd:boolean" />
        <!-- Property: CanCopy -->
        <xsd:attribute name="canCopy" type="xsd:boolean" />
        <!-- Property: CanMove -->
        <xsd:attribute name="canMove" type="xsd:boolean" />
        <!-- Property: CanPaste -->
        <xsd:attribute name="canPaste" type="xsd:boolean" />
        <!-- Property: GenerateSpecificViewModel -->
        <xsd:attribute name="generateSpecificViewModel" type="xsd:boolean" />
        <!-- Property: GenerateSpecificViewModelProperties -->
        <xsd:attribute name="generateSpecificViewModelProperties" type="xsd:boolean" />
        <!-- Property: GenerateSpecificViewModelReferences -->
        <xsd:attribute name="generateSpecificViewModelReferences" type="xsd:boolean" />
        <!-- Property: GenerateSpecificViewModelEmbeddings -->
        <xsd:attribute name="generateSpecificViewModelEmbeddings" type="xsd:boolean" />
        <!-- Property: GenerateSpecificViewModelOppositeReferences -->
        <xsd:attribute name="generateSpecificViewModelOppositeReferences" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainClass Moniker -->
  <xsd:element name="domainClassMoniker" type="DomainClassMoniker" substitutionGroup="attributedDomainElementMoniker" />
  <xsd:complexType name="DomainClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="AttributedDomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRole -->
  <xsd:element name="domainRole" type="DomainRole" substitutionGroup="namedDomainElement" />
  <xsd:complexType name="DomainRole">
    <xsd:complexContent>
      <xsd:extension base="NamedDomainElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DomainRoleReferencesOpposite -->
          <xsd:element name="opposite" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainRoleReferencesOpposite</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainRoleReferencesOpposite" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainRoleReferencesOpposite needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: DomainRoleReferencesRolePlayer -->
          <xsd:element name="rolePlayer" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainRoleReferencesRolePlayer</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainRoleReferencesRolePlayer" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainRoleReferencesRolePlayer needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: DomainRoleReferencesCustomPropertyGridEditor -->
          <xsd:element name="customPropertyGridEditor" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainRoleReferencesCustomPropertyGridEditor</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainRoleReferencesCustomPropertyGridEditor" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainRoleReferencesCustomPropertyGridEditor needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Multiplicity -->
        <xsd:attribute name="multiplicity" type="Multiplicity" />
        <!-- Property: PropertyName -->
        <xsd:attribute name="propertyName" type="xsd:string" />
        <!-- Property: PropertyDisplayName -->
        <xsd:attribute name="propertyDisplayName" type="xsd:string" />
        <!-- Property: IsPropertyNameTracking -->
        <xsd:attribute name="isPropertyNameTracking" type="TrackingEnum" />
        <!-- Property: IsPropertyDisplayNameTracking -->
        <xsd:attribute name="isPropertyDisplayNameTracking" type="TrackingEnum" />
        <!-- Property: Category -->
        <xsd:attribute name="category" type="xsd:string" />
        <!-- Property: PropertyGetterAccessModifier -->
        <xsd:attribute name="propertyGetterAccessModifier" type="AccessModifier" />
        <!-- Property: PropertySetterAccessModifier -->
        <xsd:attribute name="propertySetterAccessModifier" type="AccessModifier" />
        <!-- Property: IsPropertyBrowsable -->
        <xsd:attribute name="isPropertyBrowsable" type="xsd:boolean" />
        <!-- Property: IsPropertyGenerator -->
        <xsd:attribute name="isPropertyGenerator" type="xsd:boolean" />
        <!-- Property: PropagatesDelete -->
        <xsd:attribute name="propagatesDelete" type="xsd:boolean" >
          <xsd:annotation>
            <xsd:documentation>If True, an element playing this role in a link is deleted when the link is deleted.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsNameTracking -->
        <xsd:attribute name="isNameTracking" type="TrackingEnum" />
        <!-- Property: IsPropertyUIReadOnly -->
        <xsd:attribute name="isPropertyUIReadOnly" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRole Moniker -->
  <xsd:element name="domainRoleMoniker" type="DomainRoleMoniker" substitutionGroup="namedDomainElementMoniker" />
  <xsd:complexType name="DomainRoleMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRole instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NamedDomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingRelationship -->
  <xsd:element name="embeddingRelationship" type="EmbeddingRelationship" substitutionGroup="domainRelationship" />
  <xsd:complexType name="EmbeddingRelationship">
    <xsd:complexContent>
      <xsd:extension base="DomainRelationship">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: PropagatesCopyToChild -->
        <xsd:attribute name="propagatesCopyToChild" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingRelationship Moniker -->
  <xsd:element name="embeddingRelationshipMoniker" type="EmbeddingRelationshipMoniker" substitutionGroup="domainRelationshipMoniker" />
  <xsd:complexType name="EmbeddingRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for EmbeddingRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DomainRelationshipMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRelationship -->
  <xsd:element name="referenceRelationship" type="ReferenceRelationship" substitutionGroup="domainRelationship" />
  <xsd:complexType name="ReferenceRelationship">
    <xsd:complexContent>
      <xsd:extension base="DomainRelationship">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: SerializationAttributeName -->
        <xsd:attribute name="serializationAttributeName" type="xsd:string" />
        <!-- Property: SerializationTargetName -->
        <xsd:attribute name="serializationTargetName" type="xsd:string" />
        <!-- Property: SerializationSourceName -->
        <xsd:attribute name="serializationSourceName" type="xsd:string" />
        <!-- Property: PropagatesCopyToTarget -->
        <xsd:attribute name="propagatesCopyToTarget" type="xsd:boolean" />
        <!-- Property: PropagatesCopyToSource -->
        <xsd:attribute name="propagatesCopyToSource" type="xsd:boolean" />
        <!-- Property: PropagatesCopyOnDeniedElementCopy -->
        <xsd:attribute name="propagatesCopyOnDeniedElementCopy" type="xsd:boolean" />
        <!-- Property: IsSerializationTargetNameTracking -->
        <xsd:attribute name="isSerializationTargetNameTracking" type="TrackingEnum" />
        <!-- Property: IsSerializationSourceNameTracking -->
        <xsd:attribute name="isSerializationSourceNameTracking" type="TrackingEnum" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRelationship Moniker -->
  <xsd:element name="referenceRelationshipMoniker" type="ReferenceRelationshipMoniker" substitutionGroup="domainRelationshipMoniker" />
  <xsd:complexType name="ReferenceRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ReferenceRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DomainRelationshipMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainModelTreeView -->
  <xsd:element name="domainModelTreeView" type="DomainModelTreeView" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainModelTreeView">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DomainModelTreeViewReferencesRootNodes -->
          <xsd:element name="rootNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DomainModelTreeViewReferencesRootNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainModelTreeViewReferencesRootNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainModelTreeViewReferencesRootNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: DomainModelTreeViewHasModelTreeNodes -->
          <xsd:element name="modelTreeNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DomainModelTreeViewHasModelTreeNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainModelTreeViewHasModelTreeNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainModelTreeViewHasModelTreeNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainModelTreeView Moniker -->
  <xsd:element name="domainModelTreeViewMoniker" type="DomainModelTreeViewMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainModelTreeViewMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainModelTreeView instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RootNode -->
  <xsd:element name="rootNode" type="RootNode" substitutionGroup="treeNode" />
  <xsd:complexType name="RootNode">
    <xsd:complexContent>
      <xsd:extension base="TreeNode">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RootNode Moniker -->
  <xsd:element name="rootNodeMoniker" type="RootNodeMoniker" substitutionGroup="treeNodeMoniker" />
  <xsd:complexType name="RootNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for RootNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNode -->
  <xsd:element name="treeNode" abstract="true" type="TreeNode" substitutionGroup="modelTreeNode" />
  <xsd:complexType name="TreeNode" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNode">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: TreeNodeReferencesDomainElement -->
          <xsd:element name="domainElement" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of TreeNodeReferencesDomainElement</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="treeNodeReferencesDomainElement" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of TreeNodeReferencesDomainElement needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: TreeNodeReferencesEmbeddingRSNodes -->
          <xsd:element name="embeddingRSNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of TreeNodeReferencesEmbeddingRSNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="treeNodeReferencesEmbeddingRSNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of TreeNodeReferencesEmbeddingRSNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: TreeNodeReferencesInheritanceNodes -->
          <xsd:element name="inheritanceNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of TreeNodeReferencesInheritanceNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="treeNodeReferencesInheritanceNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of TreeNodeReferencesInheritanceNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: TreeNodeReferencesReferenceRSNodes -->
          <xsd:element name="referenceRSNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of TreeNodeReferencesReferenceRSNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="treeNodeReferencesReferenceRSNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of TreeNodeReferencesReferenceRSNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: TreeNodeReferencesShapeClassNodes -->
          <xsd:element name="shapeClassNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of TreeNodeReferencesShapeClassNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="treeNodeReferencesShapeClassNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of TreeNodeReferencesShapeClassNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsEmbeddingTreeExpanded -->
        <xsd:attribute name="isEmbeddingTreeExpanded" type="xsd:boolean" />
        <!-- Property: IsInheritanceTreeExpanded -->
        <xsd:attribute name="isInheritanceTreeExpanded" type="xsd:boolean" />
        <!-- Property: IsReferenceTreeExpanded -->
        <xsd:attribute name="isReferenceTreeExpanded" type="xsd:boolean" />
        <!-- Property: IsShapeMappingTreeExpanded -->
        <xsd:attribute name="isShapeMappingTreeExpanded" type="xsd:boolean" />
        <!-- Property: IsElementHolder -->
        <xsd:attribute name="isElementHolder" type="xsd:boolean" />
        <!-- Property: IsExpanded -->
        <xsd:attribute name="isExpanded" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNode Moniker -->
  <xsd:element name="treeNodeMoniker" abstract="true" type="TreeNodeMoniker" substitutionGroup="modelTreeNodeMoniker" />
  <xsd:complexType name="TreeNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TreeNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingRSNode -->
  <xsd:element name="embeddingRSNode" type="EmbeddingRSNode" substitutionGroup="modelTreeNode" />
  <xsd:complexType name="EmbeddingRSNode">
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNode">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: EmbeddingRSNodeReferencesRelationship -->
          <xsd:element name="relationship" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of EmbeddingRSNodeReferencesRelationship</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="embeddingRSNodeReferencesRelationship" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of EmbeddingRSNodeReferencesRelationship needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: EmbeddingRSNodeReferencesEmbeddingNode -->
          <xsd:element name="embeddingNode" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of EmbeddingRSNodeReferencesEmbeddingNode</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="embeddingRSNodeReferencesEmbeddingNode" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of EmbeddingRSNodeReferencesEmbeddingNode needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsExpanded -->
        <xsd:attribute name="isExpanded" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingRSNode Moniker -->
  <xsd:element name="embeddingRSNodeMoniker" type="EmbeddingRSNodeMoniker" substitutionGroup="modelTreeNodeMoniker" />
  <xsd:complexType name="EmbeddingRSNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for EmbeddingRSNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingNode -->
  <xsd:element name="embeddingNode" type="EmbeddingNode" substitutionGroup="treeNode" />
  <xsd:complexType name="EmbeddingNode">
    <xsd:complexContent>
      <xsd:extension base="TreeNode">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingNode Moniker -->
  <xsd:element name="embeddingNodeMoniker" type="EmbeddingNodeMoniker" substitutionGroup="treeNodeMoniker" />
  <xsd:complexType name="EmbeddingNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for EmbeddingNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- InheritanceNode -->
  <xsd:element name="inheritanceNode" type="InheritanceNode" substitutionGroup="treeNode" />
  <xsd:complexType name="InheritanceNode">
    <xsd:complexContent>
      <xsd:extension base="TreeNode">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: InhRelationshipId -->
        <xsd:attribute name="inhRelationshipId" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- InheritanceNode Moniker -->
  <xsd:element name="inheritanceNodeMoniker" type="InheritanceNodeMoniker" substitutionGroup="treeNodeMoniker" />
  <xsd:complexType name="InheritanceNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for InheritanceNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRSNode -->
  <xsd:element name="referenceRSNode" type="ReferenceRSNode" substitutionGroup="modelTreeNode" />
  <xsd:complexType name="ReferenceRSNode">
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNode">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ReferenceRSNodeReferencesReferenceRelationship -->
          <xsd:element name="referenceRelationship" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ReferenceRSNodeReferencesReferenceRelationship</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="referenceRSNodeReferencesReferenceRelationship" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ReferenceRSNodeReferencesReferenceRelationship needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: ReferenceRSNodeReferencesReferenceNode -->
          <xsd:element name="referenceNode" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ReferenceRSNodeReferencesReferenceNode</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="referenceRSNodeReferencesReferenceNode" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ReferenceRSNodeReferencesReferenceNode needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: ReferenceRSNodeReferencesShapeRelationshipNodes -->
          <xsd:element name="shapeRelationshipNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of ReferenceRSNodeReferencesShapeRelationshipNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="referenceRSNodeReferencesShapeRelationshipNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ReferenceRSNodeReferencesShapeRelationshipNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsShapeMappingTreeExpanded -->
        <xsd:attribute name="isShapeMappingTreeExpanded" type="xsd:boolean" />
        <!-- Property: IsExpanded -->
        <xsd:attribute name="isExpanded" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRSNode Moniker -->
  <xsd:element name="referenceRSNodeMoniker" type="ReferenceRSNodeMoniker" substitutionGroup="modelTreeNodeMoniker" />
  <xsd:complexType name="ReferenceRSNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ReferenceRSNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceNode -->
  <xsd:element name="referenceNode" type="ReferenceNode" substitutionGroup="treeNode" />
  <xsd:complexType name="ReferenceNode">
    <xsd:complexContent>
      <xsd:extension base="TreeNode">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceNode Moniker -->
  <xsd:element name="referenceNodeMoniker" type="ReferenceNodeMoniker" substitutionGroup="treeNodeMoniker" />
  <xsd:complexType name="ReferenceNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ReferenceNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassNode -->
  <xsd:element name="shapeClassNode" type="ShapeClassNode" substitutionGroup="modelTreeNode" />
  <xsd:complexType name="ShapeClassNode">
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNode">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ShapeClassNodeReferencesShapeClass -->
          <xsd:element name="shapeClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ShapeClassNodeReferencesShapeClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="shapeClassNodeReferencesShapeClass" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ShapeClassNodeReferencesShapeClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassNode Moniker -->
  <xsd:element name="shapeClassNodeMoniker" type="ShapeClassNodeMoniker" substitutionGroup="modelTreeNodeMoniker" />
  <xsd:complexType name="ShapeClassNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ShapeClassNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeRelationshipNode -->
  <xsd:element name="shapeRelationshipNode" type="ShapeRelationshipNode" substitutionGroup="modelTreeNode" />
  <xsd:complexType name="ShapeRelationshipNode">
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNode">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ShapeRelationshipNodeReferencesRelationshipShapeClass -->
          <xsd:element name="relationshipShapeClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ShapeRelationshipNodeReferencesRelationshipShapeClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="shapeRelationshipNodeReferencesRelationshipShapeClass" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ShapeRelationshipNodeReferencesRelationshipShapeClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeRelationshipNode Moniker -->
  <xsd:element name="shapeRelationshipNodeMoniker" type="ShapeRelationshipNodeMoniker" substitutionGroup="modelTreeNodeMoniker" />
  <xsd:complexType name="ShapeRelationshipNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ShapeRelationshipNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ModelTreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainType -->
  <xsd:element name="domainType" abstract="true" type="DomainType" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainType" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DomainTypeReferencesPropertyGridEditor -->
          <xsd:element name="propertyGridEditor" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DomainTypeReferencesPropertyGridEditor</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:choice minOccurs="0" maxOccurs="1" >
                  <xsd:element ref="domainTypeReferencesPropertyGridEditor">
                    <xsd:annotation>
                      <xsd:documentation>[Relationship deriving from DomainTypeReferencesPropertyGridEditor needs to be serialized in full-form]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                  <xsd:element ref="propertyGridEditorMoniker" >
                    <xsd:annotation>
                      <xsd:documentation>[Target role-player]</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:choice>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Property: Namespace -->
        <xsd:attribute name="namespace" type="xsd:string" />
        <!-- Property: SerializationStyle -->
        <xsd:attribute name="serializationStyle" type="SerializationStyle" />
        <!-- Property: Name -->
        <xsd:attribute name="name" type="xsd:string" use="required" />
        <!-- Property: Description -->
        <xsd:attribute name="description" type="xsd:string" />
        <!-- Property: DisplayName -->
        <xsd:attribute name="displayName" type="xsd:string" />
        <!-- Property: IsDisplayNameTracking -->
        <xsd:attribute name="isDisplayNameTracking" type="TrackingEnum" />
        <!-- Property: RequiresSerializationConversion -->
        <xsd:attribute name="requiresSerializationConversion" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainType Moniker -->
  <xsd:element name="domainTypeMoniker" abstract="true" type="DomainTypeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainTypeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainType instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="name" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternalType -->
  <xsd:element name="externalType" type="ExternalType" substitutionGroup="domainType" />
  <xsd:complexType name="ExternalType">
    <xsd:complexContent>
      <xsd:extension base="DomainType">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternalType Moniker -->
  <xsd:element name="externalTypeMoniker" type="ExternalTypeMoniker" substitutionGroup="domainTypeMoniker" />
  <xsd:complexType name="ExternalTypeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ExternalType instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DomainTypeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainEnumeration -->
  <xsd:element name="domainEnumeration" type="DomainEnumeration" substitutionGroup="domainType" />
  <xsd:complexType name="DomainEnumeration">
    <xsd:complexContent>
      <xsd:extension base="DomainType">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DomainEnumerationHasLiterals -->
          <xsd:element name="literals" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DomainEnumerationHasLiterals</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="domainEnumerationHasLiterals" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DomainEnumerationHasLiterals needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Property: AccessModifier -->
        <xsd:attribute name="accessModifier" type="AccessModifier" />
        <!-- Property: IsFlags -->
        <xsd:attribute name="isFlags" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainEnumeration Moniker -->
  <xsd:element name="domainEnumerationMoniker" type="DomainEnumerationMoniker" substitutionGroup="domainTypeMoniker" />
  <xsd:complexType name="DomainEnumerationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainEnumeration instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DomainTypeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EnumerationLiteral -->
  <xsd:element name="enumerationLiteral" type="EnumerationLiteral" substitutionGroup="core:modelElement" />
  <xsd:complexType name="EnumerationLiteral">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Name -->
        <xsd:attribute name="name" type="xsd:string" />
        <!-- Property: Description -->
        <xsd:attribute name="description" type="xsd:string" />
        <!-- Property: Value -->
        <xsd:attribute name="value" type="xsd:string" />
        <!-- Property: DisplayName -->
        <xsd:attribute name="displayName" type="xsd:string" />
        <!-- Property: IsDisplayNameTracking -->
        <xsd:attribute name="isDisplayNameTracking" type="TrackingEnum" />
        <!-- Property: SerializationName -->
        <xsd:attribute name="serializationName" type="xsd:string" />
        <!-- Property: IsSerializationNameTracking -->
        <xsd:attribute name="isSerializationNameTracking" type="TrackingEnum" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EnumerationLiteral Moniker -->
  <xsd:element name="enumerationLiteralMoniker" type="EnumerationLiteralMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="EnumerationLiteralMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for EnumerationLiteral instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClass -->
  <xsd:element name="diagramClass" type="DiagramClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DiagramClassHasPresentationElements -->
          <xsd:element name="presentationElements" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DiagramClassHasPresentationElements</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="diagramClassHasPresentationElements" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DiagramClassHasPresentationElements needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Name -->
        <xsd:attribute name="name" type="xsd:string" />
        <!-- Property: Title -->
        <xsd:attribute name="title" type="xsd:string" />
        <!-- Property: IsCustom -->
        <xsd:attribute name="isCustom" type="xsd:boolean" />
        <!-- Property: VisualizationBehavior -->
        <xsd:attribute name="visualizationBehavior" type="DiagramVisualizationBehavior" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClass Moniker -->
  <xsd:element name="diagramClassMoniker" type="DiagramClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClassView -->
  <xsd:element name="diagramClassView" type="DiagramClassView" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramClassView">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DiagramClassViewReferencesDiagramClass -->
          <xsd:element name="diagramClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DiagramClassViewReferencesDiagramClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="diagramClassViewReferencesDiagramClass" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DiagramClassViewReferencesDiagramClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: DiagramClassViewHasRootDiagramNodes -->
          <xsd:element name="rootDiagramNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DiagramClassViewHasRootDiagramNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="diagramClassViewHasRootDiagramNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DiagramClassViewHasRootDiagramNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsExpanded -->
        <xsd:attribute name="isExpanded" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClassView Moniker -->
  <xsd:element name="diagramClassViewMoniker" type="DiagramClassViewMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramClassViewMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramClassView instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PresentationElementClass -->
  <xsd:element name="presentationElementClass" abstract="true" type="PresentationElementClass" substitutionGroup="attributedDomainElement" />
  <xsd:complexType name="PresentationElementClass" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="AttributedDomainElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: GeneratePropertiesVM -->
        <xsd:attribute name="generatePropertiesVM" type="xsd:boolean" />
        <!-- Property: GenerateShapePropertiesVM -->
        <xsd:attribute name="generateShapePropertiesVM" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PresentationElementClass Moniker -->
  <xsd:element name="presentationElementClassMoniker" abstract="true" type="PresentationElementClassMoniker" substitutionGroup="attributedDomainElementMoniker" />
  <xsd:complexType name="PresentationElementClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for PresentationElementClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="AttributedDomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClass -->
  <xsd:element name="shapeClass" type="ShapeClass" substitutionGroup="presentationDomainClassElement" />
  <xsd:complexType name="ShapeClass">
    <xsd:complexContent>
      <xsd:extension base="PresentationDomainClassElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ShapeClassReferencesChildren -->
          <xsd:element name="children" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of ShapeClassReferencesChildren</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="shapeClassReferencesChildren" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ShapeClassReferencesChildren needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: ShapeClassReferencesBaseShape -->
          <xsd:element name="baseShape" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ShapeClassReferencesBaseShape</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="shapeClassReferencesBaseShape" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ShapeClassReferencesBaseShape needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: DefaultWidth -->
        <xsd:attribute name="defaultWidth" type="xsd:double" />
        <!-- Property: DefaultHeight -->
        <xsd:attribute name="defaultHeight" type="xsd:double" />
        <!-- Property: IsFixedWidth -->
        <xsd:attribute name="isFixedWidth" type="xsd:boolean" />
        <!-- Property: IsFixedHeight -->
        <xsd:attribute name="isFixedHeight" type="xsd:boolean" />
        <!-- Property: IsRelativeChild -->
        <xsd:attribute name="isRelativeChild" type="xsd:boolean" />
        <!-- Property: RelativeChildBehaviour -->
        <xsd:attribute name="relativeChildBehaviour" type="RelativeChildBehaviour" />
        <!-- Property: IsAutoGenerated -->
        <xsd:attribute name="isAutoGenerated" type="xsd:boolean" />
        <!-- Property: BorderThickness -->
        <xsd:attribute name="borderThickness" type="xsd:double" />
        <!-- Property: BackgroundBrush -->
        <xsd:attribute name="backgroundBrush" type="xsd:string" />
        <!-- Property: BorderBrush -->
        <xsd:attribute name="borderBrush" type="xsd:string" />
        <!-- Property: BorderOuterBrush -->
        <xsd:attribute name="borderOuterBrush" type="xsd:string" />
        <!-- Property: BorderOuterSize -->
        <xsd:attribute name="borderOuterSize" type="xsd:double" />
        <!-- Property: BorderCornerRadius -->
        <xsd:attribute name="borderCornerRadius" type="xsd:double" />
        <!-- Property: BorderIsHitTestVisible -->
        <xsd:attribute name="borderIsHitTestVisible" type="xsd:boolean" />
        <!-- Property: BorderFocusable -->
        <xsd:attribute name="borderFocusable" type="xsd:boolean" />
        <!-- Property: MenuIconUri -->
        <xsd:attribute name="menuIconUri" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Absolute Uri to an menu icon that should be used in the insert menu bar to represent this shape.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: UseInDependencyView -->
        <xsd:attribute name="useInDependencyView" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClass Moniker -->
  <xsd:element name="shapeClassMoniker" type="ShapeClassMoniker" substitutionGroup="presentationDomainClassElementMoniker" />
  <xsd:complexType name="ShapeClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ShapeClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="PresentationDomainClassElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RelationshipShapeClass -->
  <xsd:element name="relationshipShapeClass" type="RelationshipShapeClass" substitutionGroup="presentationElementClass" />
  <xsd:complexType name="RelationshipShapeClass">
    <xsd:complexContent>
      <xsd:extension base="PresentationElementClass">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: RelationshipShapeClassReferencesReferenceRelationship -->
          <xsd:element name="referenceRelationship" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of RelationshipShapeClassReferencesReferenceRelationship</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="relationshipShapeClassReferencesReferenceRelationship" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of RelationshipShapeClassReferencesReferenceRelationship needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsAutoGenerated -->
        <xsd:attribute name="isAutoGenerated" type="xsd:boolean" />
        <!-- Property: StartAnchorStyle -->
        <xsd:attribute name="startAnchorStyle" type="AnchorStyle" />
        <!-- Property: EndAnchorStyle -->
        <xsd:attribute name="endAnchorStyle" type="AnchorStyle" />
        <!-- Property: StrokeThickness -->
        <xsd:attribute name="strokeThickness" type="xsd:double" />
        <!-- Property: Stroke -->
        <xsd:attribute name="stroke" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RelationshipShapeClass Moniker -->
  <xsd:element name="relationshipShapeClassMoniker" type="RelationshipShapeClassMoniker" substitutionGroup="presentationElementClassMoniker" />
  <xsd:complexType name="RelationshipShapeClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for RelationshipShapeClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="PresentationElementClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- GeneratedDomainElement -->
  <xsd:element name="generatedDomainElement" abstract="true" type="GeneratedDomainElement" substitutionGroup="namedDomainElement" />
  <xsd:complexType name="GeneratedDomainElement" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="NamedDomainElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: GeneratesDoubleDerived -->
        <xsd:attribute name="generatesDoubleDerived" type="xsd:boolean" />
        <!-- Property: HasCustomConstructor -->
        <xsd:attribute name="hasCustomConstructor" type="xsd:boolean" />
        <!-- Property: AccessModifier -->
        <xsd:attribute name="accessModifier" type="AccessModifier" />
        <!-- Property: InheritanceModifier -->
        <xsd:attribute name="inheritanceModifier" type="InheritanceModifier" />
        <!-- Property: Namespace -->
        <xsd:attribute name="namespace" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- GeneratedDomainElement Moniker -->
  <xsd:element name="generatedDomainElementMoniker" abstract="true" type="GeneratedDomainElementMoniker" substitutionGroup="namedDomainElementMoniker" />
  <xsd:complexType name="GeneratedDomainElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for GeneratedDomainElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NamedDomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RootDiagramNode -->
  <xsd:element name="rootDiagramNode" type="RootDiagramNode" substitutionGroup="embeddingDiagramNode" />
  <xsd:complexType name="RootDiagramNode">
    <xsd:complexContent>
      <xsd:extension base="EmbeddingDiagramNode">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RootDiagramNode Moniker -->
  <xsd:element name="rootDiagramNodeMoniker" type="RootDiagramNodeMoniker" substitutionGroup="embeddingDiagramNodeMoniker" />
  <xsd:complexType name="RootDiagramNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for RootDiagramNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="EmbeddingDiagramNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingDiagramNode -->
  <xsd:element name="embeddingDiagramNode" type="EmbeddingDiagramNode" substitutionGroup="diagramTreeNode" />
  <xsd:complexType name="EmbeddingDiagramNode">
    <xsd:complexContent>
      <xsd:extension base="DiagramTreeNode">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: EmbeddingDiagramNodeHasEmbeddingDiagramNodes -->
          <xsd:element name="embeddingDiagramNodes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of EmbeddingDiagramNodeHasEmbeddingDiagramNodes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="embeddingDiagramNodeHasEmbeddingDiagramNodes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of EmbeddingDiagramNodeHasEmbeddingDiagramNodes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsExpanded -->
        <xsd:attribute name="isExpanded" type="xsd:boolean" />
        <!-- Property: IsChildrenTreeExpanded -->
        <xsd:attribute name="isChildrenTreeExpanded" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingDiagramNode Moniker -->
  <xsd:element name="embeddingDiagramNodeMoniker" type="EmbeddingDiagramNodeMoniker" substitutionGroup="diagramTreeNodeMoniker" />
  <xsd:complexType name="EmbeddingDiagramNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for EmbeddingDiagramNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DiagramTreeNodeMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramTreeNode -->
  <xsd:element name="diagramTreeNode" abstract="true" type="DiagramTreeNode" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramTreeNode" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DiagramTreeNodeReferencesPresentationElementClass -->
          <xsd:element name="presentationElementClass" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of DiagramTreeNodeReferencesPresentationElementClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="diagramTreeNodeReferencesPresentationElementClass" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DiagramTreeNodeReferencesPresentationElementClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramTreeNode Moniker -->
  <xsd:element name="diagramTreeNodeMoniker" abstract="true" type="DiagramTreeNodeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramTreeNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramTreeNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationModel -->
  <xsd:element name="serializationModel" type="SerializationModel" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializationModel">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SerializationModelHasSerializedDomainModel -->
          <xsd:element name="serializedDomainModel" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SerializationModelHasSerializedDomainModel</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializationModelHasSerializedDomainModel" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializationModelHasSerializedDomainModel needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: SerializationModelHasChildren -->
          <xsd:element name="children" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of SerializationModelHasChildren</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializationModelHasChildren" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializationModelHasChildren needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: SerializedIdAttributeName -->
        <xsd:attribute name="serializedIdAttributeName" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationModel Moniker -->
  <xsd:element name="serializationModelMoniker" type="SerializationModelMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializationModelMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationModel instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainModel -->
  <xsd:element name="serializedDomainModel" type="SerializedDomainModel" substitutionGroup="serializedDomainClass" />
  <xsd:complexType name="SerializedDomainModel">
    <xsd:complexContent>
      <xsd:extension base="SerializedDomainClass">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: SerializedIdAttributeName -->
        <xsd:attribute name="serializedIdAttributeName" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainModel Moniker -->
  <xsd:element name="serializedDomainModelMoniker" type="SerializedDomainModelMoniker" substitutionGroup="serializedDomainClassMoniker" />
  <xsd:complexType name="SerializedDomainModelMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedDomainModel instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializedDomainClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationElement -->
  <xsd:element name="serializationElement" abstract="true" type="SerializationElement" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializationElement" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationElement Moniker -->
  <xsd:element name="serializationElementMoniker" abstract="true" type="SerializationElementMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializationElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainClass -->
  <xsd:element name="serializedDomainClass" type="SerializedDomainClass" substitutionGroup="serializationClass" />
  <xsd:complexType name="SerializedDomainClass">
    <xsd:complexContent>
      <xsd:extension base="SerializationClass">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SerializedDomainClassReferencesDomainClass -->
          <xsd:element name="domainClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SerializedDomainClassReferencesDomainClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializedDomainClassReferencesDomainClass" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializedDomainClassReferencesDomainClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainClass Moniker -->
  <xsd:element name="serializedDomainClassMoniker" type="SerializedDomainClassMoniker" substitutionGroup="serializationClassMoniker" />
  <xsd:complexType name="SerializedDomainClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedDomainClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializationClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedEmbeddingRelationship -->
  <xsd:element name="serializedEmbeddingRelationship" type="SerializedEmbeddingRelationship" substitutionGroup="serializedRelationship" />
  <xsd:complexType name="SerializedEmbeddingRelationship">
    <xsd:complexContent>
      <xsd:extension base="SerializedRelationship">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SerializedEmbeddingRelationshipReferencesEmbeddingRelationship -->
          <xsd:element name="embeddingRelationship" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SerializedEmbeddingRelationshipReferencesEmbeddingRelationship</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializedEmbeddingRelationshipReferencesEmbeddingRelationship" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializedEmbeddingRelationshipReferencesEmbeddingRelationship needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsTargetIncludedSubmodel -->
        <xsd:attribute name="isTargetIncludedSubmodel" type="xsd:boolean" >
          <xsd:annotation>
            <xsd:documentation>If true, the target is expected to be a domain model which is included in a different file by using the xi:include tag</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedEmbeddingRelationship Moniker -->
  <xsd:element name="serializedEmbeddingRelationshipMoniker" type="SerializedEmbeddingRelationshipMoniker" substitutionGroup="serializedRelationshipMoniker" />
  <xsd:complexType name="SerializedEmbeddingRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedEmbeddingRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializedRelationshipMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedReferenceRelationship -->
  <xsd:element name="serializedReferenceRelationship" type="SerializedReferenceRelationship" substitutionGroup="serializedRelationship" />
  <xsd:complexType name="SerializedReferenceRelationship">
    <xsd:complexContent>
      <xsd:extension base="SerializedRelationship">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SerializedReferenceRelationshipReferencesReferenceRelationship -->
          <xsd:element name="referenceRelationship" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SerializedReferenceRelationshipReferencesReferenceRelationship</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializedReferenceRelationshipReferencesReferenceRelationship" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializedReferenceRelationshipReferencesReferenceRelationship needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedReferenceRelationship Moniker -->
  <xsd:element name="serializedReferenceRelationshipMoniker" type="SerializedReferenceRelationshipMoniker" substitutionGroup="serializedRelationshipMoniker" />
  <xsd:complexType name="SerializedReferenceRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedReferenceRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializedRelationshipMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainProperty -->
  <xsd:element name="serializedDomainProperty" type="SerializedDomainProperty" substitutionGroup="serializationAttributeElement" />
  <xsd:complexType name="SerializedDomainProperty">
    <xsd:complexContent>
      <xsd:extension base="SerializationAttributeElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SerializedDomainPropertyReferencesDomainProperty -->
          <xsd:element name="domainProperty" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SerializedDomainPropertyReferencesDomainProperty</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializedDomainPropertyReferencesDomainProperty" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializedDomainPropertyReferencesDomainProperty needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: SerializationName -->
        <xsd:attribute name="serializationName" type="xsd:string" />
        <!-- Property: SerializationRepresentationType -->
        <xsd:attribute name="serializationRepresentationType" type="SerializationRepresentationType" />
        <!-- Property: IsSerializationNameTracking -->
        <xsd:attribute name="isSerializationNameTracking" type="TrackingEnum" />
        <!-- Property: OmitProperty -->
        <xsd:attribute name="omitProperty" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainProperty Moniker -->
  <xsd:element name="serializedDomainPropertyMoniker" type="SerializedDomainPropertyMoniker" substitutionGroup="serializationAttributeElementMoniker" />
  <xsd:complexType name="SerializedDomainPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedDomainProperty instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializationAttributeElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClass -->
  <xsd:element name="serializationClass" abstract="true" type="SerializationClass" substitutionGroup="serializationElement" />
  <xsd:complexType name="SerializationClass" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="SerializationElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SerializationClassReferencesChildren -->
          <xsd:element name="children" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of SerializationClassReferencesChildren</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializationClassReferencesChildren" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializationClassReferencesChildren needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: SerializationClassReferencesAttributes -->
          <xsd:element name="attributes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of SerializationClassReferencesAttributes</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializationClassReferencesAttributes" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializationClassReferencesAttributes needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: SerializationClassHasIdProperty -->
          <xsd:element name="idProperty" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SerializationClassHasIdProperty</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializationClassHasIdProperty" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializationClassHasIdProperty needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: SerializationClassHasProperties -->
          <xsd:element name="properties" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of SerializationClassHasProperties</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializationClassHasProperties" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializationClassHasProperties needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsSerializationNameTracking -->
        <xsd:attribute name="isSerializationNameTracking" type="TrackingEnum" />
        <!-- Property: SerializationName -->
        <xsd:attribute name="serializationName" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClass Moniker -->
  <xsd:element name="serializationClassMoniker" abstract="true" type="SerializationClassMoniker" substitutionGroup="serializationElementMoniker" />
  <xsd:complexType name="SerializationClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializationElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedIdProperty -->
  <xsd:element name="serializedIdProperty" type="SerializedIdProperty" substitutionGroup="serializationAttributeElement" />
  <xsd:complexType name="SerializedIdProperty">
    <xsd:complexContent>
      <xsd:extension base="SerializationAttributeElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Name -->
        <xsd:attribute name="name" type="xsd:string" />
        <!-- Property: SerializationName -->
        <xsd:attribute name="serializationName" type="xsd:string" />
        <!-- Property: OmitIdProperty -->
        <xsd:attribute name="omitIdProperty" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedIdProperty Moniker -->
  <xsd:element name="serializedIdPropertyMoniker" type="SerializedIdPropertyMoniker" substitutionGroup="serializationAttributeElementMoniker" />
  <xsd:complexType name="SerializedIdPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedIdProperty instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializationAttributeElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainRole -->
  <xsd:element name="serializedDomainRole" type="SerializedDomainRole" substitutionGroup="serializationElement" />
  <xsd:complexType name="SerializedDomainRole">
    <xsd:complexContent>
      <xsd:extension base="SerializationElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SerializedDomainRoleReferencesDomainRole -->
          <xsd:element name="domainRole" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SerializedDomainRoleReferencesDomainRole</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializedDomainRoleReferencesDomainRole" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializedDomainRoleReferencesDomainRole needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: SerializedDomainRoleReferencesSerializationClass -->
          <xsd:element name="serializationClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SerializedDomainRoleReferencesSerializationClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializedDomainRoleReferencesSerializationClass" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializedDomainRoleReferencesSerializationClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: SerializationName -->
        <xsd:attribute name="serializationName" type="xsd:string" />
        <!-- Property: SerializationAttributeName -->
        <xsd:attribute name="serializationAttributeName" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainRole Moniker -->
  <xsd:element name="serializedDomainRoleMoniker" type="SerializedDomainRoleMoniker" substitutionGroup="serializationElementMoniker" />
  <xsd:complexType name="SerializedDomainRoleMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedDomainRole instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializationElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationAttributeElement -->
  <xsd:element name="serializationAttributeElement" abstract="true" type="SerializationAttributeElement" substitutionGroup="serializationElement" />
  <xsd:complexType name="SerializationAttributeElement" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="SerializationElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationAttributeElement Moniker -->
  <xsd:element name="serializationAttributeElementMoniker" abstract="true" type="SerializationAttributeElementMoniker" substitutionGroup="serializationElementMoniker" />
  <xsd:complexType name="SerializationAttributeElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationAttributeElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializationElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- Validation -->
  <xsd:element name="validation" type="Validation" substitutionGroup="core:modelElement" />
  <xsd:complexType name="Validation">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: UseLoad -->
        <xsd:attribute name="useLoad" type="xsd:boolean" />
        <!-- Property: UseMenu -->
        <xsd:attribute name="useMenu" type="xsd:boolean" />
        <!-- Property: UseOpen -->
        <xsd:attribute name="useOpen" type="xsd:boolean" />
        <!-- Property: UseSave -->
        <xsd:attribute name="useSave" type="xsd:boolean" />
        <!-- Property: UseAutoValidation -->
        <xsd:attribute name="useAutoValidation" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- Validation Moniker -->
  <xsd:element name="validationMoniker" type="ValidationMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ValidationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for Validation instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MappingRelationshipShapeClass -->
  <xsd:element name="mappingRelationshipShapeClass" type="MappingRelationshipShapeClass" substitutionGroup="presentationDomainClassElement" />
  <xsd:complexType name="MappingRelationshipShapeClass">
    <xsd:complexContent>
      <xsd:extension base="PresentationDomainClassElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: MappingRelationshipShapeClassReferencesSource -->
          <xsd:element name="source" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of MappingRelationshipShapeClassReferencesSource</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="mappingRelationshipShapeClassReferencesSource" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of MappingRelationshipShapeClassReferencesSource needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: MappingRelationshipShapeClassReferencesTarget -->
          <xsd:element name="target" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of MappingRelationshipShapeClassReferencesTarget</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="mappingRelationshipShapeClassReferencesTarget" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of MappingRelationshipShapeClassReferencesTarget needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsAutoGenerated -->
        <xsd:attribute name="isAutoGenerated" type="xsd:boolean" />
        <!-- Property: StartAnchorStyle -->
        <xsd:attribute name="startAnchorStyle" type="AnchorStyle" />
        <!-- Property: EndAnchorStyle -->
        <xsd:attribute name="endAnchorStyle" type="AnchorStyle" />
        <!-- Property: StrokeThickness -->
        <xsd:attribute name="strokeThickness" type="xsd:double" />
        <!-- Property: Stroke -->
        <xsd:attribute name="stroke" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MappingRelationshipShapeClass Moniker -->
  <xsd:element name="mappingRelationshipShapeClassMoniker" type="MappingRelationshipShapeClassMoniker" substitutionGroup="presentationDomainClassElementMoniker" />
  <xsd:complexType name="MappingRelationshipShapeClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MappingRelationshipShapeClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="PresentationDomainClassElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramView -->
  <xsd:element name="diagramView" type="DiagramView" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramView">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DiagramViewHasDiagramClassViews -->
          <xsd:element name="diagramClassViews" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DiagramViewHasDiagramClassViews</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="diagramViewHasDiagramClassViews" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DiagramViewHasDiagramClassViews needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramView Moniker -->
  <xsd:element name="diagramViewMoniker" type="DiagramViewMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramViewMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramView instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DesignerDiagramClass -->
  <xsd:element name="designerDiagramClass" type="DesignerDiagramClass" substitutionGroup="diagramClass" />
  <xsd:complexType name="DesignerDiagramClass">
    <xsd:complexContent>
      <xsd:extension base="DiagramClass">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: DesignerDiagramClassReferencesImportedDiagramClasses -->
          <xsd:element name="importedDiagramClasses" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DesignerDiagramClassReferencesImportedDiagramClasses</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="designerDiagramClassReferencesImportedDiagramClasses" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DesignerDiagramClassReferencesImportedDiagramClasses needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: DesignerDiagramClassReferencesIncludedDiagramClasses -->
          <xsd:element name="includedDiagramClasses" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of DesignerDiagramClassReferencesIncludedDiagramClasses</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="designerDiagramClassReferencesIncludedDiagramClasses" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of DesignerDiagramClassReferencesIncludedDiagramClasses needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DesignerDiagramClass Moniker -->
  <xsd:element name="designerDiagramClassMoniker" type="DesignerDiagramClassMoniker" substitutionGroup="diagramClassMoniker" />
  <xsd:complexType name="DesignerDiagramClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DesignerDiagramClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DiagramClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PresentationDomainClassElement -->
  <xsd:element name="presentationDomainClassElement" abstract="true" type="PresentationDomainClassElement" substitutionGroup="presentationElementClass" />
  <xsd:complexType name="PresentationDomainClassElement" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="PresentationElementClass">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ShapeClassReferencesDomainClass -->
          <xsd:element name="domainClass" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ShapeClassReferencesDomainClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="shapeClassReferencesDomainClass" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ShapeClassReferencesDomainClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PresentationDomainClassElement Moniker -->
  <xsd:element name="presentationDomainClassElementMoniker" abstract="true" type="PresentationDomainClassElementMoniker" substitutionGroup="presentationElementClassMoniker" />
  <xsd:complexType name="PresentationDomainClassElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for PresentationDomainClassElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="PresentationElementClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModelTreeNode -->
  <xsd:element name="modelTreeNode" abstract="true" type="ModelTreeNode" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ModelTreeNode" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModelTreeNode Moniker -->
  <xsd:element name="modelTreeNodeMoniker" abstract="true" type="ModelTreeNodeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ModelTreeNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ModelTreeNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedRelationship -->
  <xsd:element name="serializedRelationship" abstract="true" type="SerializedRelationship" substitutionGroup="serializationClass" />
  <xsd:complexType name="SerializedRelationship" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="SerializationClass">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SerializedRelationshipHasSerializedDomainRoles -->
          <xsd:element name="serializedDomainRoles" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of SerializedRelationshipHasSerializedDomainRoles</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="serializedRelationshipHasSerializedDomainRoles" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SerializedRelationshipHasSerializedDomainRoles needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsInFullSerialization -->
        <xsd:attribute name="isInFullSerialization" type="xsd:boolean" />
        <!-- Property: OmitRelationship -->
        <xsd:attribute name="omitRelationship" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedRelationship Moniker -->
  <xsd:element name="serializedRelationshipMoniker" abstract="true" type="SerializedRelationshipMoniker" substitutionGroup="serializationClassMoniker" />
  <xsd:complexType name="SerializedRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="SerializationClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- Credits -->
  <xsd:element name="credits" type="Credits" substitutionGroup="core:modelElement" />
  <xsd:complexType name="Credits">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: CreditsHasCreditItems -->
          <xsd:element name="creditItems" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of CreditsHasCreditItems</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="creditsHasCreditItems" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of CreditsHasCreditItems needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- Credits Moniker -->
  <xsd:element name="creditsMoniker" type="CreditsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="CreditsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for Credits instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- CreditItem -->
  <xsd:element name="creditItem" type="CreditItem" substitutionGroup="linkItem" />
  <xsd:complexType name="CreditItem">
    <xsd:complexContent>
      <xsd:extension base="LinkItem">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- CreditItem Moniker -->
  <xsd:element name="creditItemMoniker" type="CreditItemMoniker" substitutionGroup="linkItemMoniker" />
  <xsd:complexType name="CreditItemMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for CreditItem instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="LinkItemMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AdditionalInformation -->
  <xsd:element name="additionalInformation" type="AdditionalInformation" substitutionGroup="core:modelElement" />
  <xsd:complexType name="AdditionalInformation">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: AdditionalInformationHasCredits -->
          <xsd:element name="credits" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of AdditionalInformationHasCredits</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="additionalInformationHasCredits" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of AdditionalInformationHasCredits needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: AdditionalInformationHasFurtherInformation -->
          <xsd:element name="furtherInformation" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of AdditionalInformationHasFurtherInformation</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="additionalInformationHasFurtherInformation" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of AdditionalInformationHasFurtherInformation needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AdditionalInformation Moniker -->
  <xsd:element name="additionalInformationMoniker" type="AdditionalInformationMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="AdditionalInformationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for AdditionalInformation instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- FurtherInformation -->
  <xsd:element name="furtherInformation" type="FurtherInformation" substitutionGroup="core:modelElement" />
  <xsd:complexType name="FurtherInformation">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: FurtherInformationHasInformationItems -->
          <xsd:element name="informationItems" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of FurtherInformationHasInformationItems</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="furtherInformationHasInformationItems" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of FurtherInformationHasInformationItems needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- FurtherInformation Moniker -->
  <xsd:element name="furtherInformationMoniker" type="FurtherInformationMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="FurtherInformationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FurtherInformation instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- InformationItem -->
  <xsd:element name="informationItem" type="InformationItem" substitutionGroup="linkItem" />
  <xsd:complexType name="InformationItem">
    <xsd:complexContent>
      <xsd:extension base="LinkItem">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- InformationItem Moniker -->
  <xsd:element name="informationItemMoniker" type="InformationItemMoniker" substitutionGroup="linkItemMoniker" />
  <xsd:complexType name="InformationItemMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for InformationItem instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="LinkItemMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LinkItem -->
  <xsd:element name="linkItem" abstract="true" type="LinkItem" substitutionGroup="core:modelElement" />
  <xsd:complexType name="LinkItem" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: Title -->
        <xsd:attribute name="title" type="xsd:string" />
        <!-- Property: Description -->
        <xsd:attribute name="description" type="xsd:string" />
        <!-- Property: Link -->
        <xsd:attribute name="link" type="xsd:string" />
        <!-- Property: Category -->
        <xsd:attribute name="category" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LinkItem Moniker -->
  <xsd:element name="linkItemMoniker" abstract="true" type="LinkItemMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="LinkItemMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for LinkItem instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelLibrary -->
  <xsd:element name="metaModelLibrary" type="MetaModelLibrary" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelLibrary">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Property: FilePath -->
          <xsd:element name="filePath" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <!-- Property: Name -->
          <xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <!-- Relationship: MetaModelLibraryHasImportedLibrary -->
          <xsd:element ref="metaModelLibraryHasImportedLibrary" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Instance of MetaModelLibraryHasImportedLibrary needs to be serialized in full-form]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelLibrary Moniker -->
  <xsd:element name="metaModelLibraryMoniker" type="MetaModelLibraryMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelLibraryMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelLibrary instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- BaseMetaModel -->
  <xsd:element name="baseMetaModel" abstract="true" type="BaseMetaModel" substitutionGroup="core:modelElement" />
  <xsd:complexType name="BaseMetaModel" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- BaseMetaModel Moniker -->
  <xsd:element name="baseMetaModelMoniker" abstract="true" type="BaseMetaModelMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="BaseMetaModelMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for BaseMetaModel instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewContext -->
  <xsd:element name="viewContext" type="ViewContext" substitutionGroup="baseViewContext" />
  <xsd:complexType name="ViewContext">
    <xsd:complexContent>
      <xsd:extension base="BaseViewContext">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ViewContextHasDomainModelTreeView -->
          <xsd:element name="domainModelTreeView" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ViewContextHasDomainModelTreeView</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="viewContextHasDomainModelTreeView" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ViewContextHasDomainModelTreeView needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: ViewContextHasDiagramView -->
          <xsd:element name="diagramView" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ViewContextHasDiagramView</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="viewContextHasDiagramView" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ViewContextHasDiagramView needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: ViewContextReferencesModelContext -->
          <xsd:element name="modelContext" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ViewContextReferencesModelContext</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="viewContextReferencesModelContext" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ViewContextReferencesModelContext needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewContext Moniker -->
  <xsd:element name="viewContextMoniker" type="ViewContextMoniker" substitutionGroup="baseViewContextMoniker" />
  <xsd:complexType name="ViewContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ViewContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="BaseViewContextMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContext -->
  <xsd:element name="libraryModelContext" type="LibraryModelContext" substitutionGroup="baseModelContext" />
  <xsd:complexType name="LibraryModelContext">
    <xsd:complexContent>
      <xsd:extension base="BaseModelContext">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: LibraryModelContextHasClasses -->
          <xsd:element name="classes" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of LibraryModelContextHasClasses</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="libraryModelContextHasClasses" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of LibraryModelContextHasClasses needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: LibraryModelContextHasDiagramClasses -->
          <xsd:element name="diagramClasses" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of LibraryModelContextHasDiagramClasses</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="libraryModelContextHasDiagramClasses" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of LibraryModelContextHasDiagramClasses needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: LibraryModelContextHasRelationships -->
          <xsd:element name="relationships" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of LibraryModelContextHasRelationships</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="libraryModelContextHasRelationships" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of LibraryModelContextHasRelationships needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: LibraryModelContextHasSerializationModel -->
          <xsd:element name="serializationModel" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of LibraryModelContextHasSerializationModel</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="libraryModelContextHasSerializationModel" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of LibraryModelContextHasSerializationModel needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContext Moniker -->
  <xsd:element name="libraryModelContextMoniker" type="LibraryModelContextMoniker" substitutionGroup="baseModelContextMoniker" />
  <xsd:complexType name="LibraryModelContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for LibraryModelContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="BaseModelContextMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- View -->
  <xsd:element name="view" type="View" substitutionGroup="core:modelElement" />
  <xsd:complexType name="View">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ViewHasViewContexts -->
          <xsd:element name="viewContexts" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of ViewHasViewContexts</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="viewHasViewContexts" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ViewHasViewContexts needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <!-- Relationship: ViewHasModelTree -->
          <xsd:element name="modelTree" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ViewHasModelTree</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="viewHasModelTree" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ViewHasModelTree needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: CreateModelTree -->
        <xsd:attribute name="createModelTree" type="xsd:boolean" />
        <!-- Property: CreatePropertyGrid -->
        <xsd:attribute name="createPropertyGrid" type="xsd:boolean" />
        <!-- Property: CreateErrorList -->
        <xsd:attribute name="createErrorList" type="xsd:boolean" />
        <!-- Property: CreateDependenciesView -->
        <xsd:attribute name="createDependenciesView" type="xsd:boolean" />
        <!-- Property: ModelTreeId -->
        <xsd:attribute name="modelTreeId" type="xsd:string" />
        <!-- Property: PropertyGridId -->
        <xsd:attribute name="propertyGridId" type="xsd:string" />
        <!-- Property: ErrorListId -->
        <xsd:attribute name="errorListId" type="xsd:string" />
        <!-- Property: DependenciesViewId -->
        <xsd:attribute name="dependenciesViewId" type="xsd:string" />
        <!-- Property: SearchId -->
        <xsd:attribute name="searchId" type="xsd:string" />
        <!-- Property: SearchResultId -->
        <xsd:attribute name="searchResultId" type="xsd:string" />
        <!-- Property: PluginWindowId -->
        <xsd:attribute name="pluginWindowId" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- View Moniker -->
  <xsd:element name="viewMoniker" type="ViewMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ViewMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for View instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PropertyGridEditor -->
  <xsd:element name="propertyGridEditor" type="PropertyGridEditor" substitutionGroup="core:modelElement" />
  <xsd:complexType name="PropertyGridEditor">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Property: Name -->
        <xsd:attribute name="name" type="xsd:string" use="required" />
        <!-- Property: Namespace -->
        <xsd:attribute name="namespace" type="xsd:string" />
        <!-- Property: ShouldBeGenerated -->
        <xsd:attribute name="shouldBeGenerated" type="xsd:boolean" />
        <!-- Property: EditorBaseType -->
        <xsd:attribute name="editorBaseType" type="EditorBaseType" >
          <xsd:annotation>
            <xsd:documentation>Only relevant if Should Be Generated is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: RequiresContextMenuBar -->
        <xsd:attribute name="requiresContextMenuBar" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- PropertyGridEditor Moniker -->
  <xsd:element name="propertyGridEditorMoniker" type="PropertyGridEditorMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="PropertyGridEditorMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for PropertyGridEditor instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="name" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- BaseModelContext -->
  <xsd:element name="baseModelContext" abstract="true" type="BaseModelContext" substitutionGroup="namedDomainElement" />
  <xsd:complexType name="BaseModelContext" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="NamedDomainElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: IsDefault -->
        <xsd:attribute name="isDefault" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- BaseModelContext Moniker -->
  <xsd:element name="baseModelContextMoniker" abstract="true" type="BaseModelContextMoniker" substitutionGroup="namedDomainElementMoniker" />
  <xsd:complexType name="BaseModelContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for BaseModelContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="NamedDomainElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternModelContext -->
  <xsd:element name="externModelContext" type="ExternModelContext" substitutionGroup="baseModelContext" />
  <xsd:complexType name="ExternModelContext">
    <xsd:complexContent>
      <xsd:extension base="BaseModelContext">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ExternModelContextReferencesModelContext -->
          <xsd:element name="modelContext" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ExternModelContextReferencesModelContext</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="externModelContextReferencesModelContext" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ExternModelContextReferencesModelContext needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternModelContext Moniker -->
  <xsd:element name="externModelContextMoniker" type="ExternModelContextMoniker" substitutionGroup="baseModelContextMoniker" />
  <xsd:complexType name="ExternModelContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ExternModelContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="BaseModelContextMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- BaseViewContext -->
  <xsd:element name="baseViewContext" abstract="true" type="BaseViewContext" substitutionGroup="core:modelElement" />
  <xsd:complexType name="BaseViewContext" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- BaseViewContext Moniker -->
  <xsd:element name="baseViewContextMoniker" abstract="true" type="BaseViewContextMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="BaseViewContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for BaseViewContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternViewContext -->
  <xsd:element name="externViewContext" type="ExternViewContext" substitutionGroup="baseViewContext" />
  <xsd:complexType name="ExternViewContext">
    <xsd:complexContent>
      <xsd:extension base="BaseViewContext">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ExternViewContextReferencesExternModelContext -->
          <xsd:element name="externModelContext" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ExternViewContextReferencesExternModelContext</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="externViewContextReferencesExternModelContext" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ExternViewContextReferencesExternModelContext needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternViewContext Moniker -->
  <xsd:element name="externViewContextMoniker" type="ExternViewContextMoniker" substitutionGroup="baseViewContextMoniker" />
  <xsd:complexType name="ExternViewContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ExternViewContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="BaseViewContextMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModelContext -->
  <xsd:element name="modelContext" type="ModelContext" substitutionGroup="libraryModelContext" />
  <xsd:complexType name="ModelContext">
    <xsd:complexContent>
      <xsd:extension base="LibraryModelContext">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModelContext Moniker -->
  <xsd:element name="modelContextMoniker" type="ModelContextMoniker" substitutionGroup="libraryModelContextMoniker" />
  <xsd:complexType name="ModelContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ModelContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="LibraryModelContextMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModelTree -->
  <xsd:element name="modelTree" type="ModelTree" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ModelTree">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: SortingBehavior -->
        <xsd:attribute name="sortingBehavior" type="SortingBehavior" />
        <!-- Property: CanMoveElements -->
        <xsd:attribute name="canMoveElements" type="xsd:boolean" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModelTree Moniker -->
  <xsd:element name="modelTreeMoniker" type="ModelTreeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ModelTreeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ModelTree instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TemplatedDiagramClass -->
  <xsd:element name="templatedDiagramClass" type="TemplatedDiagramClass" substitutionGroup="diagramClass" />
  <xsd:complexType name="TemplatedDiagramClass">
    <xsd:complexContent>
      <xsd:extension base="DiagramClass">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: UniqueId -->
        <xsd:attribute name="uniqueId" type="xsd:string" />
        <!-- Property: Description -->
        <xsd:attribute name="description" type="xsd:string" />
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TemplatedDiagramClass Moniker -->
  <xsd:element name="templatedDiagramClassMoniker" type="TemplatedDiagramClassMoniker" substitutionGroup="diagramClassMoniker" />
  <xsd:complexType name="TemplatedDiagramClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TemplatedDiagramClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DiagramClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DependencyDiagram -->
  <xsd:element name="dependencyDiagram" type="DependencyDiagram" substitutionGroup="templatedDiagramClass" />
  <xsd:complexType name="DependencyDiagram">
    <xsd:complexContent>
      <xsd:extension base="TemplatedDiagramClass">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DependencyDiagram Moniker -->
  <xsd:element name="dependencyDiagramMoniker" type="DependencyDiagramMoniker" substitutionGroup="templatedDiagramClassMoniker" />
  <xsd:complexType name="DependencyDiagramMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DependencyDiagram instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TemplatedDiagramClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SpecificDependencyDiagram -->
  <xsd:element name="specificDependencyDiagram" type="SpecificDependencyDiagram" substitutionGroup="dependencyDiagram" />
  <xsd:complexType name="SpecificDependencyDiagram">
    <xsd:complexContent>
      <xsd:extension base="DependencyDiagram">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SpecificDependencyDiagramReferencesDomainClass -->
          <xsd:element name="domainClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of SpecificDependencyDiagramReferencesDomainClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="specificDependencyDiagramReferencesDomainClass" minOccurs="1" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SpecificDependencyDiagramReferencesDomainClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SpecificDependencyDiagram Moniker -->
  <xsd:element name="specificDependencyDiagramMoniker" type="SpecificDependencyDiagramMoniker" substitutionGroup="dependencyDiagramMoniker" />
  <xsd:complexType name="SpecificDependencyDiagramMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SpecificDependencyDiagram instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="DependencyDiagramMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModalDiagram -->
  <xsd:element name="modalDiagram" type="ModalDiagram" substitutionGroup="restorableTemplatedDiagramVMOnly" />
  <xsd:complexType name="ModalDiagram">
    <xsd:complexContent>
      <xsd:extension base="RestorableTemplatedDiagramVMOnly">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: ModalDiagramReferencesDomainClass -->
          <xsd:element name="domainClass" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instance of ModalDiagramReferencesDomainClass</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="modalDiagramReferencesDomainClass" minOccurs="0" maxOccurs="1">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of ModalDiagramReferencesDomainClass needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModalDiagram Moniker -->
  <xsd:element name="modalDiagramMoniker" type="ModalDiagramMoniker" substitutionGroup="restorableTemplatedDiagramVMOnlyMoniker" />
  <xsd:complexType name="ModalDiagramMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ModalDiagram instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RestorableTemplatedDiagramVMOnlyMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SpecificElementsDiagram -->
  <xsd:element name="specificElementsDiagram" type="SpecificElementsDiagram" substitutionGroup="restorableChildlessDiagram" />
  <xsd:complexType name="SpecificElementsDiagram">
    <xsd:complexContent>
      <xsd:extension base="RestorableChildlessDiagram">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Relationship: SpecificElementsDiagramReferencesDomainClasses -->
          <xsd:element name="domainClasses" minOccurs="0" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>Instances of SpecificElementsDiagramReferencesDomainClasses</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element ref="specificElementsDiagramReferencesDomainClasses" minOccurs="0" maxOccurs="unbounded">
                  <xsd:annotation>
                    <xsd:documentation>[Instance of SpecificElementsDiagramReferencesDomainClasses needs to be serialized in full-form]</xsd:documentation>
                  </xsd:annotation>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SpecificElementsDiagram Moniker -->
  <xsd:element name="specificElementsDiagramMoniker" type="SpecificElementsDiagramMoniker" substitutionGroup="restorableChildlessDiagramMoniker" />
  <xsd:complexType name="SpecificElementsDiagramMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SpecificElementsDiagram instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="RestorableChildlessDiagramMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DesignerSurfaceDiagram -->
  <xsd:element name="designerSurfaceDiagram" type="DesignerSurfaceDiagram" substitutionGroup="childlessDiagram" />
  <xsd:complexType name="DesignerSurfaceDiagram">
    <xsd:complexContent>
      <xsd:extension base="ChildlessDiagram">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DesignerSurfaceDiagram Moniker -->
  <xsd:element name="designerSurfaceDiagramMoniker" type="DesignerSurfaceDiagramMoniker" substitutionGroup="childlessDiagramMoniker" />
  <xsd:complexType name="DesignerSurfaceDiagramMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DesignerSurfaceDiagram instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ChildlessDiagramMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ChildlessDiagram -->
  <xsd:element name="childlessDiagram" abstract="true" type="ChildlessDiagram" substitutionGroup="templatedDiagramClass" />
  <xsd:complexType name="ChildlessDiagram" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="TemplatedDiagramClass">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ChildlessDiagram Moniker -->
  <xsd:element name="childlessDiagramMoniker" abstract="true" type="ChildlessDiagramMoniker" substitutionGroup="templatedDiagramClassMoniker" />
  <xsd:complexType name="ChildlessDiagramMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ChildlessDiagram instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TemplatedDiagramClassMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TemplatedDiagramViewModelOnly -->
  <xsd:element name="templatedDiagramViewModelOnly" abstract="true" type="TemplatedDiagramViewModelOnly" substitutionGroup="childlessDiagram" />
  <xsd:complexType name="TemplatedDiagramViewModelOnly" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ChildlessDiagram">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TemplatedDiagramViewModelOnly Moniker -->
  <xsd:element name="templatedDiagramViewModelOnlyMoniker" abstract="true" type="TemplatedDiagramViewModelOnlyMoniker" substitutionGroup="childlessDiagramMoniker" />
  <xsd:complexType name="TemplatedDiagramViewModelOnlyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TemplatedDiagramViewModelOnly instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ChildlessDiagramMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RestorableChildlessDiagram -->
  <xsd:element name="restorableChildlessDiagram" abstract="true" type="RestorableChildlessDiagram" substitutionGroup="childlessDiagram" />
  <xsd:complexType name="RestorableChildlessDiagram" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="ChildlessDiagram">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RestorableChildlessDiagram Moniker -->
  <xsd:element name="restorableChildlessDiagramMoniker" abstract="true" type="RestorableChildlessDiagramMoniker" substitutionGroup="childlessDiagramMoniker" />
  <xsd:complexType name="RestorableChildlessDiagramMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for RestorableChildlessDiagram instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="ChildlessDiagramMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RestorableTemplatedDiagramVMOnly -->
  <xsd:element name="restorableTemplatedDiagramVMOnly" abstract="true" type="RestorableTemplatedDiagramVMOnly" substitutionGroup="templatedDiagramViewModelOnly" />
  <xsd:complexType name="RestorableTemplatedDiagramVMOnly" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="TemplatedDiagramViewModelOnly">
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RestorableTemplatedDiagramVMOnly Moniker -->
  <xsd:element name="restorableTemplatedDiagramVMOnlyMoniker" abstract="true" type="RestorableTemplatedDiagramVMOnlyMoniker" substitutionGroup="templatedDiagramViewModelOnlyMoniker" />
  <xsd:complexType name="RestorableTemplatedDiagramVMOnlyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for RestorableTemplatedDiagramVMOnly instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="TemplatedDiagramViewModelOnlyMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AttributedDomainElementHasProperties -->
  <xsd:element name="attributedDomainElementHasProperties" type="AttributedDomainElementHasProperties" substitutionGroup="core:modelElement" />
  <xsd:complexType name="AttributedDomainElementHasProperties">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainProperty -->
          <xsd:element ref="domainProperty" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AttributedDomainElementHasProperties Moniker -->
  <xsd:element name="attributedDomainElementHasPropertiesMoniker" type="AttributedDomainElementHasPropertiesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="AttributedDomainElementHasPropertiesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for AttributedDomainElementHasProperties instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationshipHasRoles -->
  <xsd:element name="domainRelationshipHasRoles" type="DomainRelationshipHasRoles" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainRelationshipHasRoles">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRole -->
          <xsd:element ref="domainRole" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationshipHasRoles Moniker -->
  <xsd:element name="domainRelationshipHasRolesMoniker" type="DomainRelationshipHasRolesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainRelationshipHasRolesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRelationshipHasRoles instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationshipReferencesSource -->
  <xsd:element name="domainRelationshipReferencesSource" type="DomainRelationshipReferencesSource" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainRelationshipReferencesSource">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRole -->
          <xsd:element ref="domainRoleMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationshipReferencesSource Moniker -->
  <xsd:element name="domainRelationshipReferencesSourceMoniker" type="DomainRelationshipReferencesSourceMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainRelationshipReferencesSourceMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRelationshipReferencesSource instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationshipReferencesTarget -->
  <xsd:element name="domainRelationshipReferencesTarget" type="DomainRelationshipReferencesTarget" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainRelationshipReferencesTarget">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRole -->
          <xsd:element ref="domainRoleMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationshipReferencesTarget Moniker -->
  <xsd:element name="domainRelationshipReferencesTargetMoniker" type="DomainRelationshipReferencesTargetMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainRelationshipReferencesTargetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRelationshipReferencesTarget instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRSNodeReferencesReferenceRelationship -->
  <xsd:element name="referenceRSNodeReferencesReferenceRelationship" type="ReferenceRSNodeReferencesReferenceRelationship" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ReferenceRSNodeReferencesReferenceRelationship">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ReferenceRelationship -->
          <xsd:element ref="referenceRelationshipMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRSNodeReferencesReferenceRelationship Moniker -->
  <xsd:element name="referenceRSNodeReferencesReferenceRelationshipMoniker" type="ReferenceRSNodeReferencesReferenceRelationshipMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ReferenceRSNodeReferencesReferenceRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ReferenceRSNodeReferencesReferenceRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasDomainTypes -->
  <xsd:element name="metaModelHasDomainTypes" abstract="true" type="MetaModelHasDomainTypes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelHasDomainTypes" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainType -->
          <xsd:element ref="domainType" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasDomainTypes Moniker -->
  <xsd:element name="metaModelHasDomainTypesMoniker" abstract="true" type="MetaModelHasDomainTypesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelHasDomainTypesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelHasDomainTypes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainEnumerationHasLiterals -->
  <xsd:element name="domainEnumerationHasLiterals" type="DomainEnumerationHasLiterals" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainEnumerationHasLiterals">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end EnumerationLiteral -->
          <xsd:element ref="enumerationLiteral" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainEnumerationHasLiterals Moniker -->
  <xsd:element name="domainEnumerationHasLiteralsMoniker" type="DomainEnumerationHasLiteralsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainEnumerationHasLiteralsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainEnumerationHasLiterals instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainPropertyReferencesType -->
  <xsd:element name="domainPropertyReferencesType" abstract="true" type="DomainPropertyReferencesType" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainPropertyReferencesType" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainType -->
          <xsd:element ref="domainTypeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainPropertyReferencesType Moniker -->
  <xsd:element name="domainPropertyReferencesTypeMoniker" abstract="true" type="DomainPropertyReferencesTypeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainPropertyReferencesTypeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainPropertyReferencesType instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClassViewReferencesDiagramClass -->
  <xsd:element name="diagramClassViewReferencesDiagramClass" type="DiagramClassViewReferencesDiagramClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramClassViewReferencesDiagramClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DiagramClass -->
          <xsd:element ref="diagramClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClassViewReferencesDiagramClass Moniker -->
  <xsd:element name="diagramClassViewReferencesDiagramClassMoniker" type="DiagramClassViewReferencesDiagramClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramClassViewReferencesDiagramClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramClassViewReferencesDiagramClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClassHasPresentationElements -->
  <xsd:element name="diagramClassHasPresentationElements" type="DiagramClassHasPresentationElements" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramClassHasPresentationElements">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end PresentationElementClass -->
          <xsd:element ref="presentationElementClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClassHasPresentationElements Moniker -->
  <xsd:element name="diagramClassHasPresentationElementsMoniker" type="DiagramClassHasPresentationElementsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramClassHasPresentationElementsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramClassHasPresentationElements instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainClassReferencesBaseClass -->
  <xsd:element name="domainClassReferencesBaseClass" type="DomainClassReferencesBaseClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainClassReferencesBaseClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainClass -->
          <xsd:element ref="domainClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
        <!-- Property: InhNodeId -->
        <xsd:attribute name="inhNodeId" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Workaround, as we can not reference relationships..</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainClassReferencesBaseClass Moniker -->
  <xsd:element name="domainClassReferencesBaseClassMoniker" type="DomainClassReferencesBaseClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainClassReferencesBaseClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainClassReferencesBaseClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationshipReferencesBaseRelationship -->
  <xsd:element name="domainRelationshipReferencesBaseRelationship" type="DomainRelationshipReferencesBaseRelationship" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainRelationshipReferencesBaseRelationship">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRelationship -->
          <xsd:element ref="domainRelationshipMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRelationshipReferencesBaseRelationship Moniker -->
  <xsd:element name="domainRelationshipReferencesBaseRelationshipMoniker" type="DomainRelationshipReferencesBaseRelationshipMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainRelationshipReferencesBaseRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRelationshipReferencesBaseRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRoleReferencesOpposite -->
  <xsd:element name="domainRoleReferencesOpposite" type="DomainRoleReferencesOpposite" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainRoleReferencesOpposite">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRole -->
          <xsd:element ref="domainRoleMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRoleReferencesOpposite Moniker -->
  <xsd:element name="domainRoleReferencesOppositeMoniker" type="DomainRoleReferencesOppositeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainRoleReferencesOppositeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRoleReferencesOpposite instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingRSNodeReferencesRelationship -->
  <xsd:element name="embeddingRSNodeReferencesRelationship" type="EmbeddingRSNodeReferencesRelationship" substitutionGroup="core:modelElement" />
  <xsd:complexType name="EmbeddingRSNodeReferencesRelationship">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRelationship -->
          <xsd:element ref="domainRelationshipMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingRSNodeReferencesRelationship Moniker -->
  <xsd:element name="embeddingRSNodeReferencesRelationshipMoniker" type="EmbeddingRSNodeReferencesRelationshipMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="EmbeddingRSNodeReferencesRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for EmbeddingRSNodeReferencesRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRoleReferencesRolePlayer -->
  <xsd:element name="domainRoleReferencesRolePlayer" type="DomainRoleReferencesRolePlayer" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainRoleReferencesRolePlayer">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end AttributedDomainElement -->
          <xsd:element ref="attributedDomainElementMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRoleReferencesRolePlayer Moniker -->
  <xsd:element name="domainRoleReferencesRolePlayerMoniker" type="DomainRoleReferencesRolePlayerMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainRoleReferencesRolePlayerMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRoleReferencesRolePlayer instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesDomainElement -->
  <xsd:element name="treeNodeReferencesDomainElement" type="TreeNodeReferencesDomainElement" substitutionGroup="core:modelElement" />
  <xsd:complexType name="TreeNodeReferencesDomainElement">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end AttributedDomainElement -->
          <xsd:element ref="attributedDomainElementMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesDomainElement Moniker -->
  <xsd:element name="treeNodeReferencesDomainElementMoniker" type="TreeNodeReferencesDomainElementMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="TreeNodeReferencesDomainElementMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TreeNodeReferencesDomainElement instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassReferencesChildren -->
  <xsd:element name="shapeClassReferencesChildren" type="ShapeClassReferencesChildren" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ShapeClassReferencesChildren">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ShapeClass -->
          <xsd:element ref="shapeClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassReferencesChildren Moniker -->
  <xsd:element name="shapeClassReferencesChildrenMoniker" type="ShapeClassReferencesChildrenMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ShapeClassReferencesChildrenMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ShapeClassReferencesChildren instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClassViewHasRootDiagramNodes -->
  <xsd:element name="diagramClassViewHasRootDiagramNodes" type="DiagramClassViewHasRootDiagramNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramClassViewHasRootDiagramNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end RootDiagramNode -->
          <xsd:element ref="rootDiagramNode" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramClassViewHasRootDiagramNodes Moniker -->
  <xsd:element name="diagramClassViewHasRootDiagramNodesMoniker" type="DiagramClassViewHasRootDiagramNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramClassViewHasRootDiagramNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramClassViewHasRootDiagramNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClassReferencesChildren -->
  <xsd:element name="serializationClassReferencesChildren" type="SerializationClassReferencesChildren" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializationClassReferencesChildren">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializationElement -->
          <xsd:element ref="serializationElementMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClassReferencesChildren Moniker -->
  <xsd:element name="serializationClassReferencesChildrenMoniker" type="SerializationClassReferencesChildrenMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializationClassReferencesChildrenMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationClassReferencesChildren instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainRoleReferencesDomainRole -->
  <xsd:element name="serializedDomainRoleReferencesDomainRole" type="SerializedDomainRoleReferencesDomainRole" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializedDomainRoleReferencesDomainRole">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRole -->
          <xsd:element ref="domainRoleMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainRoleReferencesDomainRole Moniker -->
  <xsd:element name="serializedDomainRoleReferencesDomainRoleMoniker" type="SerializedDomainRoleReferencesDomainRoleMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializedDomainRoleReferencesDomainRoleMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedDomainRoleReferencesDomainRole instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClassReferencesAttributes -->
  <xsd:element name="serializationClassReferencesAttributes" type="SerializationClassReferencesAttributes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializationClassReferencesAttributes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializationAttributeElement -->
          <xsd:element ref="serializationAttributeElementMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClassReferencesAttributes Moniker -->
  <xsd:element name="serializationClassReferencesAttributesMoniker" type="SerializationClassReferencesAttributesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializationClassReferencesAttributesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationClassReferencesAttributes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasValidation -->
  <xsd:element name="metaModelHasValidation" type="MetaModelHasValidation" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelHasValidation">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end Validation -->
          <xsd:element ref="validation" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasValidation Moniker -->
  <xsd:element name="metaModelHasValidationMoniker" type="MetaModelHasValidationMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelHasValidationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelHasValidation instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainModelTreeViewReferencesRootNodes -->
  <xsd:element name="domainModelTreeViewReferencesRootNodes" type="DomainModelTreeViewReferencesRootNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainModelTreeViewReferencesRootNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end RootNode -->
          <xsd:element ref="rootNodeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainModelTreeViewReferencesRootNodes Moniker -->
  <xsd:element name="domainModelTreeViewReferencesRootNodesMoniker" type="DomainModelTreeViewReferencesRootNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainModelTreeViewReferencesRootNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainModelTreeViewReferencesRootNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesEmbeddingRSNodes -->
  <xsd:element name="treeNodeReferencesEmbeddingRSNodes" type="TreeNodeReferencesEmbeddingRSNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="TreeNodeReferencesEmbeddingRSNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end EmbeddingRSNode -->
          <xsd:element ref="embeddingRSNodeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesEmbeddingRSNodes Moniker -->
  <xsd:element name="treeNodeReferencesEmbeddingRSNodesMoniker" type="TreeNodeReferencesEmbeddingRSNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="TreeNodeReferencesEmbeddingRSNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TreeNodeReferencesEmbeddingRSNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingRSNodeReferencesEmbeddingNode -->
  <xsd:element name="embeddingRSNodeReferencesEmbeddingNode" type="EmbeddingRSNodeReferencesEmbeddingNode" substitutionGroup="core:modelElement" />
  <xsd:complexType name="EmbeddingRSNodeReferencesEmbeddingNode">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end EmbeddingNode -->
          <xsd:element ref="embeddingNodeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingRSNodeReferencesEmbeddingNode Moniker -->
  <xsd:element name="embeddingRSNodeReferencesEmbeddingNodeMoniker" type="EmbeddingRSNodeReferencesEmbeddingNodeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="EmbeddingRSNodeReferencesEmbeddingNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for EmbeddingRSNodeReferencesEmbeddingNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesInheritanceNodes -->
  <xsd:element name="treeNodeReferencesInheritanceNodes" type="TreeNodeReferencesInheritanceNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="TreeNodeReferencesInheritanceNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end InheritanceNode -->
          <xsd:element ref="inheritanceNodeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesInheritanceNodes Moniker -->
  <xsd:element name="treeNodeReferencesInheritanceNodesMoniker" type="TreeNodeReferencesInheritanceNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="TreeNodeReferencesInheritanceNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TreeNodeReferencesInheritanceNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesReferenceRSNodes -->
  <xsd:element name="treeNodeReferencesReferenceRSNodes" type="TreeNodeReferencesReferenceRSNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="TreeNodeReferencesReferenceRSNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ReferenceRSNode -->
          <xsd:element ref="referenceRSNodeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesReferenceRSNodes Moniker -->
  <xsd:element name="treeNodeReferencesReferenceRSNodesMoniker" type="TreeNodeReferencesReferenceRSNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="TreeNodeReferencesReferenceRSNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TreeNodeReferencesReferenceRSNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRSNodeReferencesReferenceNode -->
  <xsd:element name="referenceRSNodeReferencesReferenceNode" type="ReferenceRSNodeReferencesReferenceNode" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ReferenceRSNodeReferencesReferenceNode">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ReferenceNode -->
          <xsd:element ref="referenceNodeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRSNodeReferencesReferenceNode Moniker -->
  <xsd:element name="referenceRSNodeReferencesReferenceNodeMoniker" type="ReferenceRSNodeReferencesReferenceNodeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ReferenceRSNodeReferencesReferenceNodeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ReferenceRSNodeReferencesReferenceNode instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesShapeClassNodes -->
  <xsd:element name="treeNodeReferencesShapeClassNodes" type="TreeNodeReferencesShapeClassNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="TreeNodeReferencesShapeClassNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ShapeClassNode -->
          <xsd:element ref="shapeClassNodeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- TreeNodeReferencesShapeClassNodes Moniker -->
  <xsd:element name="treeNodeReferencesShapeClassNodesMoniker" type="TreeNodeReferencesShapeClassNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="TreeNodeReferencesShapeClassNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for TreeNodeReferencesShapeClassNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramViewHasDiagramClassViews -->
  <xsd:element name="diagramViewHasDiagramClassViews" type="DiagramViewHasDiagramClassViews" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramViewHasDiagramClassViews">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DiagramClassView -->
          <xsd:element ref="diagramClassView" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramViewHasDiagramClassViews Moniker -->
  <xsd:element name="diagramViewHasDiagramClassViewsMoniker" type="DiagramViewHasDiagramClassViewsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramViewHasDiagramClassViewsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramViewHasDiagramClassViews instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramTreeNodeReferencesPresentationElementClass -->
  <xsd:element name="diagramTreeNodeReferencesPresentationElementClass" type="DiagramTreeNodeReferencesPresentationElementClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DiagramTreeNodeReferencesPresentationElementClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end PresentationElementClass -->
          <xsd:element ref="presentationElementClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DiagramTreeNodeReferencesPresentationElementClass Moniker -->
  <xsd:element name="diagramTreeNodeReferencesPresentationElementClassMoniker" type="DiagramTreeNodeReferencesPresentationElementClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DiagramTreeNodeReferencesPresentationElementClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DiagramTreeNodeReferencesPresentationElementClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingDiagramNodeHasEmbeddingDiagramNodes -->
  <xsd:element name="embeddingDiagramNodeHasEmbeddingDiagramNodes" type="EmbeddingDiagramNodeHasEmbeddingDiagramNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="EmbeddingDiagramNodeHasEmbeddingDiagramNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end EmbeddingDiagramNode -->
          <xsd:element ref="embeddingDiagramNode" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- EmbeddingDiagramNodeHasEmbeddingDiagramNodes Moniker -->
  <xsd:element name="embeddingDiagramNodeHasEmbeddingDiagramNodesMoniker" type="EmbeddingDiagramNodeHasEmbeddingDiagramNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="EmbeddingDiagramNodeHasEmbeddingDiagramNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for EmbeddingDiagramNodeHasEmbeddingDiagramNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MappingRelationshipShapeClassReferencesSource -->
  <xsd:element name="mappingRelationshipShapeClassReferencesSource" type="MappingRelationshipShapeClassReferencesSource" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MappingRelationshipShapeClassReferencesSource">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ReferenceRelationship -->
          <xsd:element ref="referenceRelationshipMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MappingRelationshipShapeClassReferencesSource Moniker -->
  <xsd:element name="mappingRelationshipShapeClassReferencesSourceMoniker" type="MappingRelationshipShapeClassReferencesSourceMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MappingRelationshipShapeClassReferencesSourceMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MappingRelationshipShapeClassReferencesSource instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MappingRelationshipShapeClassReferencesTarget -->
  <xsd:element name="mappingRelationshipShapeClassReferencesTarget" type="MappingRelationshipShapeClassReferencesTarget" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MappingRelationshipShapeClassReferencesTarget">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ReferenceRelationship -->
          <xsd:element ref="referenceRelationshipMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MappingRelationshipShapeClassReferencesTarget Moniker -->
  <xsd:element name="mappingRelationshipShapeClassReferencesTargetMoniker" type="MappingRelationshipShapeClassReferencesTargetMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MappingRelationshipShapeClassReferencesTargetMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MappingRelationshipShapeClassReferencesTarget instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeRelationshipNodeReferencesRelationshipShapeClass -->
  <xsd:element name="shapeRelationshipNodeReferencesRelationshipShapeClass" type="ShapeRelationshipNodeReferencesRelationshipShapeClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ShapeRelationshipNodeReferencesRelationshipShapeClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end RelationshipShapeClass -->
          <xsd:element ref="relationshipShapeClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeRelationshipNodeReferencesRelationshipShapeClass Moniker -->
  <xsd:element name="shapeRelationshipNodeReferencesRelationshipShapeClassMoniker" type="ShapeRelationshipNodeReferencesRelationshipShapeClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ShapeRelationshipNodeReferencesRelationshipShapeClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ShapeRelationshipNodeReferencesRelationshipShapeClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainModelTreeViewHasModelTreeNodes -->
  <xsd:element name="domainModelTreeViewHasModelTreeNodes" type="DomainModelTreeViewHasModelTreeNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainModelTreeViewHasModelTreeNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ModelTreeNode -->
          <xsd:element ref="modelTreeNode" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainModelTreeViewHasModelTreeNodes Moniker -->
  <xsd:element name="domainModelTreeViewHasModelTreeNodesMoniker" type="DomainModelTreeViewHasModelTreeNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainModelTreeViewHasModelTreeNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainModelTreeViewHasModelTreeNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRSNodeReferencesShapeRelationshipNodes -->
  <xsd:element name="referenceRSNodeReferencesShapeRelationshipNodes" type="ReferenceRSNodeReferencesShapeRelationshipNodes" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ReferenceRSNodeReferencesShapeRelationshipNodes">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ShapeRelationshipNode -->
          <xsd:element ref="shapeRelationshipNodeMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ReferenceRSNodeReferencesShapeRelationshipNodes Moniker -->
  <xsd:element name="referenceRSNodeReferencesShapeRelationshipNodesMoniker" type="ReferenceRSNodeReferencesShapeRelationshipNodesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ReferenceRSNodeReferencesShapeRelationshipNodesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ReferenceRSNodeReferencesShapeRelationshipNodes instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassReferencesDomainClass -->
  <xsd:element name="shapeClassReferencesDomainClass" type="ShapeClassReferencesDomainClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ShapeClassReferencesDomainClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainClass -->
          <xsd:element ref="domainClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassReferencesDomainClass Moniker -->
  <xsd:element name="shapeClassReferencesDomainClassMoniker" type="ShapeClassReferencesDomainClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ShapeClassReferencesDomainClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ShapeClassReferencesDomainClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassNodeReferencesShapeClass -->
  <xsd:element name="shapeClassNodeReferencesShapeClass" type="ShapeClassNodeReferencesShapeClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ShapeClassNodeReferencesShapeClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end PresentationDomainClassElement -->
          <xsd:element ref="presentationDomainClassElementMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassNodeReferencesShapeClass Moniker -->
  <xsd:element name="shapeClassNodeReferencesShapeClassMoniker" type="ShapeClassNodeReferencesShapeClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ShapeClassNodeReferencesShapeClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ShapeClassNodeReferencesShapeClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationModelHasSerializedDomainModel -->
  <xsd:element name="serializationModelHasSerializedDomainModel" type="SerializationModelHasSerializedDomainModel" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializationModelHasSerializedDomainModel">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializedDomainModel -->
          <xsd:element ref="serializedDomainModel" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationModelHasSerializedDomainModel Moniker -->
  <xsd:element name="serializationModelHasSerializedDomainModelMoniker" type="SerializationModelHasSerializedDomainModelMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializationModelHasSerializedDomainModelMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationModelHasSerializedDomainModel instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClassHasIdProperty -->
  <xsd:element name="serializationClassHasIdProperty" type="SerializationClassHasIdProperty" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializationClassHasIdProperty">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializedIdProperty -->
          <xsd:element ref="serializedIdProperty" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClassHasIdProperty Moniker -->
  <xsd:element name="serializationClassHasIdPropertyMoniker" type="SerializationClassHasIdPropertyMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializationClassHasIdPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationClassHasIdProperty instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedRelationshipHasSerializedDomainRoles -->
  <xsd:element name="serializedRelationshipHasSerializedDomainRoles" type="SerializedRelationshipHasSerializedDomainRoles" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializedRelationshipHasSerializedDomainRoles">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializedDomainRole -->
          <xsd:element ref="serializedDomainRole" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedRelationshipHasSerializedDomainRoles Moniker -->
  <xsd:element name="serializedRelationshipHasSerializedDomainRolesMoniker" type="SerializedRelationshipHasSerializedDomainRolesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializedRelationshipHasSerializedDomainRolesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedRelationshipHasSerializedDomainRoles instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainClassReferencesDomainClass -->
  <xsd:element name="serializedDomainClassReferencesDomainClass" type="SerializedDomainClassReferencesDomainClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializedDomainClassReferencesDomainClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainClass -->
          <xsd:element ref="domainClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainClassReferencesDomainClass Moniker -->
  <xsd:element name="serializedDomainClassReferencesDomainClassMoniker" type="SerializedDomainClassReferencesDomainClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializedDomainClassReferencesDomainClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedDomainClassReferencesDomainClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedEmbeddingRelationshipReferencesEmbeddingRelationship -->
  <xsd:element name="serializedEmbeddingRelationshipReferencesEmbeddingRelationship" type="SerializedEmbeddingRelationshipReferencesEmbeddingRelationship" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializedEmbeddingRelationshipReferencesEmbeddingRelationship">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end EmbeddingRelationship -->
          <xsd:element ref="embeddingRelationshipMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedEmbeddingRelationshipReferencesEmbeddingRelationship Moniker -->
  <xsd:element name="serializedEmbeddingRelationshipReferencesEmbeddingRelationshipMoniker" type="SerializedEmbeddingRelationshipReferencesEmbeddingRelationshipMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializedEmbeddingRelationshipReferencesEmbeddingRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedEmbeddingRelationshipReferencesEmbeddingRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedReferenceRelationshipReferencesReferenceRelationship -->
  <xsd:element name="serializedReferenceRelationshipReferencesReferenceRelationship" type="SerializedReferenceRelationshipReferencesReferenceRelationship" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializedReferenceRelationshipReferencesReferenceRelationship">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ReferenceRelationship -->
          <xsd:element ref="referenceRelationshipMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedReferenceRelationshipReferencesReferenceRelationship Moniker -->
  <xsd:element name="serializedReferenceRelationshipReferencesReferenceRelationshipMoniker" type="SerializedReferenceRelationshipReferencesReferenceRelationshipMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializedReferenceRelationshipReferencesReferenceRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedReferenceRelationshipReferencesReferenceRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainPropertyReferencesDomainProperty -->
  <xsd:element name="serializedDomainPropertyReferencesDomainProperty" type="SerializedDomainPropertyReferencesDomainProperty" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializedDomainPropertyReferencesDomainProperty">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainProperty -->
          <xsd:element ref="domainPropertyMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainPropertyReferencesDomainProperty Moniker -->
  <xsd:element name="serializedDomainPropertyReferencesDomainPropertyMoniker" type="SerializedDomainPropertyReferencesDomainPropertyMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializedDomainPropertyReferencesDomainPropertyMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedDomainPropertyReferencesDomainProperty instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainRoleReferencesSerializationClass -->
  <xsd:element name="serializedDomainRoleReferencesSerializationClass" type="SerializedDomainRoleReferencesSerializationClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializedDomainRoleReferencesSerializationClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializationClass -->
          <xsd:element ref="serializationClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializedDomainRoleReferencesSerializationClass Moniker -->
  <xsd:element name="serializedDomainRoleReferencesSerializationClassMoniker" type="SerializedDomainRoleReferencesSerializationClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializedDomainRoleReferencesSerializationClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializedDomainRoleReferencesSerializationClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationModelHasChildren -->
  <xsd:element name="serializationModelHasChildren" type="SerializationModelHasChildren" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializationModelHasChildren">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializationClass -->
          <xsd:element ref="serializationClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationModelHasChildren Moniker -->
  <xsd:element name="serializationModelHasChildrenMoniker" type="SerializationModelHasChildrenMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializationModelHasChildrenMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationModelHasChildren instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClassHasProperties -->
  <xsd:element name="serializationClassHasProperties" type="SerializationClassHasProperties" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SerializationClassHasProperties">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializedDomainProperty -->
          <xsd:element ref="serializedDomainProperty" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SerializationClassHasProperties Moniker -->
  <xsd:element name="serializationClassHasPropertiesMoniker" type="SerializationClassHasPropertiesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SerializationClassHasPropertiesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SerializationClassHasProperties instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- CreditsHasCreditItems -->
  <xsd:element name="creditsHasCreditItems" type="CreditsHasCreditItems" substitutionGroup="core:modelElement" />
  <xsd:complexType name="CreditsHasCreditItems">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end CreditItem -->
          <xsd:element ref="creditItem" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- CreditsHasCreditItems Moniker -->
  <xsd:element name="creditsHasCreditItemsMoniker" type="CreditsHasCreditItemsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="CreditsHasCreditItemsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for CreditsHasCreditItems instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasAdditionalInformation -->
  <xsd:element name="metaModelHasAdditionalInformation" type="MetaModelHasAdditionalInformation" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelHasAdditionalInformation">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end AdditionalInformation -->
          <xsd:element ref="additionalInformation" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasAdditionalInformation Moniker -->
  <xsd:element name="metaModelHasAdditionalInformationMoniker" type="MetaModelHasAdditionalInformationMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelHasAdditionalInformationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelHasAdditionalInformation instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AdditionalInformationHasCredits -->
  <xsd:element name="additionalInformationHasCredits" type="AdditionalInformationHasCredits" substitutionGroup="core:modelElement" />
  <xsd:complexType name="AdditionalInformationHasCredits">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end Credits -->
          <xsd:element ref="credits" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AdditionalInformationHasCredits Moniker -->
  <xsd:element name="additionalInformationHasCreditsMoniker" type="AdditionalInformationHasCreditsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="AdditionalInformationHasCreditsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for AdditionalInformationHasCredits instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AdditionalInformationHasFurtherInformation -->
  <xsd:element name="additionalInformationHasFurtherInformation" type="AdditionalInformationHasFurtherInformation" substitutionGroup="core:modelElement" />
  <xsd:complexType name="AdditionalInformationHasFurtherInformation">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end FurtherInformation -->
          <xsd:element ref="furtherInformation" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- AdditionalInformationHasFurtherInformation Moniker -->
  <xsd:element name="additionalInformationHasFurtherInformationMoniker" type="AdditionalInformationHasFurtherInformationMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="AdditionalInformationHasFurtherInformationMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for AdditionalInformationHasFurtherInformation instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- FurtherInformationHasInformationItems -->
  <xsd:element name="furtherInformationHasInformationItems" type="FurtherInformationHasInformationItems" substitutionGroup="core:modelElement" />
  <xsd:complexType name="FurtherInformationHasInformationItems">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end InformationItem -->
          <xsd:element ref="informationItem" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- FurtherInformationHasInformationItems Moniker -->
  <xsd:element name="furtherInformationHasInformationItemsMoniker" type="FurtherInformationHasInformationItemsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="FurtherInformationHasInformationItemsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for FurtherInformationHasInformationItems instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasMetaModelLibraries -->
  <xsd:element name="metaModelHasMetaModelLibraries" type="MetaModelHasMetaModelLibraries" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelHasMetaModelLibraries">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end MetaModelLibrary -->
          <xsd:element ref="metaModelLibrary" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasMetaModelLibraries Moniker -->
  <xsd:element name="metaModelHasMetaModelLibrariesMoniker" type="MetaModelHasMetaModelLibrariesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelHasMetaModelLibrariesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelHasMetaModelLibraries instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelLibraryHasImportedLibrary -->
  <xsd:element name="metaModelLibraryHasImportedLibrary" type="MetaModelLibraryHasImportedLibrary" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelLibraryHasImportedLibrary">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end BaseMetaModel -->
          <xsd:element ref="baseMetaModel" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelLibraryHasImportedLibrary Moniker -->
  <xsd:element name="metaModelLibraryHasImportedLibraryMoniker" type="MetaModelLibraryHasImportedLibraryMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelLibraryHasImportedLibraryMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelLibraryHasImportedLibrary instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewContextHasDomainModelTreeView -->
  <xsd:element name="viewContextHasDomainModelTreeView" type="ViewContextHasDomainModelTreeView" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ViewContextHasDomainModelTreeView">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainModelTreeView -->
          <xsd:element ref="domainModelTreeView" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewContextHasDomainModelTreeView Moniker -->
  <xsd:element name="viewContextHasDomainModelTreeViewMoniker" type="ViewContextHasDomainModelTreeViewMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ViewContextHasDomainModelTreeViewMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ViewContextHasDomainModelTreeView instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewContextHasDiagramView -->
  <xsd:element name="viewContextHasDiagramView" type="ViewContextHasDiagramView" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ViewContextHasDiagramView">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DiagramView -->
          <xsd:element ref="diagramView" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewContextHasDiagramView Moniker -->
  <xsd:element name="viewContextHasDiagramViewMoniker" type="ViewContextHasDiagramViewMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ViewContextHasDiagramViewMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ViewContextHasDiagramView instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContextHasClasses -->
  <xsd:element name="libraryModelContextHasClasses" type="LibraryModelContextHasClasses" substitutionGroup="core:modelElement" />
  <xsd:complexType name="LibraryModelContextHasClasses">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainClass -->
          <xsd:element ref="domainClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContextHasClasses Moniker -->
  <xsd:element name="libraryModelContextHasClassesMoniker" type="LibraryModelContextHasClassesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="LibraryModelContextHasClassesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for LibraryModelContextHasClasses instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContextHasDiagramClasses -->
  <xsd:element name="libraryModelContextHasDiagramClasses" type="LibraryModelContextHasDiagramClasses" substitutionGroup="core:modelElement" />
  <xsd:complexType name="LibraryModelContextHasDiagramClasses">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DiagramClass -->
          <xsd:element ref="diagramClass" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContextHasDiagramClasses Moniker -->
  <xsd:element name="libraryModelContextHasDiagramClassesMoniker" type="LibraryModelContextHasDiagramClassesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="LibraryModelContextHasDiagramClassesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for LibraryModelContextHasDiagramClasses instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContextHasRelationships -->
  <xsd:element name="libraryModelContextHasRelationships" type="LibraryModelContextHasRelationships" substitutionGroup="core:modelElement" />
  <xsd:complexType name="LibraryModelContextHasRelationships">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRelationship -->
          <xsd:element ref="domainRelationship" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContextHasRelationships Moniker -->
  <xsd:element name="libraryModelContextHasRelationshipsMoniker" type="LibraryModelContextHasRelationshipsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="LibraryModelContextHasRelationshipsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for LibraryModelContextHasRelationships instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewContextReferencesModelContext -->
  <xsd:element name="viewContextReferencesModelContext" type="ViewContextReferencesModelContext" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ViewContextReferencesModelContext">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end LibraryModelContext -->
          <xsd:element ref="libraryModelContextMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewContextReferencesModelContext Moniker -->
  <xsd:element name="viewContextReferencesModelContextMoniker" type="ViewContextReferencesModelContextMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ViewContextReferencesModelContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ViewContextReferencesModelContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasView -->
  <xsd:element name="metaModelHasView" type="MetaModelHasView" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelHasView">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end View -->
          <xsd:element ref="view" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasView Moniker -->
  <xsd:element name="metaModelHasViewMoniker" type="MetaModelHasViewMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelHasViewMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelHasView instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainTypeReferencesPropertyGridEditor -->
  <xsd:element name="domainTypeReferencesPropertyGridEditor" abstract="true" type="DomainTypeReferencesPropertyGridEditor" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainTypeReferencesPropertyGridEditor" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end PropertyGridEditor -->
          <xsd:element ref="propertyGridEditorMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainTypeReferencesPropertyGridEditor Moniker -->
  <xsd:element name="domainTypeReferencesPropertyGridEditorMoniker" abstract="true" type="DomainTypeReferencesPropertyGridEditorMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainTypeReferencesPropertyGridEditorMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainTypeReferencesPropertyGridEditor instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRoleReferencesCustomPropertyGridEditor -->
  <xsd:element name="domainRoleReferencesCustomPropertyGridEditor" type="DomainRoleReferencesCustomPropertyGridEditor" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DomainRoleReferencesCustomPropertyGridEditor">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end PropertyGridEditor -->
          <xsd:element ref="propertyGridEditorMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DomainRoleReferencesCustomPropertyGridEditor Moniker -->
  <xsd:element name="domainRoleReferencesCustomPropertyGridEditorMoniker" type="DomainRoleReferencesCustomPropertyGridEditorMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DomainRoleReferencesCustomPropertyGridEditorMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DomainRoleReferencesCustomPropertyGridEditor instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasModelContexts -->
  <xsd:element name="metaModelHasModelContexts" type="MetaModelHasModelContexts" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelHasModelContexts">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end BaseModelContext -->
          <xsd:element ref="baseModelContext" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasModelContexts Moniker -->
  <xsd:element name="metaModelHasModelContextsMoniker" type="MetaModelHasModelContextsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelHasModelContextsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelHasModelContexts instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewHasViewContexts -->
  <xsd:element name="viewHasViewContexts" type="ViewHasViewContexts" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ViewHasViewContexts">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end BaseViewContext -->
          <xsd:element ref="baseViewContext" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewHasViewContexts Moniker -->
  <xsd:element name="viewHasViewContextsMoniker" type="ViewHasViewContextsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ViewHasViewContextsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ViewHasViewContexts instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternViewContextReferencesExternModelContext -->
  <xsd:element name="externViewContextReferencesExternModelContext" type="ExternViewContextReferencesExternModelContext" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ExternViewContextReferencesExternModelContext">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ExternModelContext -->
          <xsd:element ref="externModelContextMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternViewContextReferencesExternModelContext Moniker -->
  <xsd:element name="externViewContextReferencesExternModelContextMoniker" type="ExternViewContextReferencesExternModelContextMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ExternViewContextReferencesExternModelContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ExternViewContextReferencesExternModelContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContextHasSerializationModel -->
  <xsd:element name="libraryModelContextHasSerializationModel" type="LibraryModelContextHasSerializationModel" substitutionGroup="core:modelElement" />
  <xsd:complexType name="LibraryModelContextHasSerializationModel">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end SerializationModel -->
          <xsd:element ref="serializationModel" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- LibraryModelContextHasSerializationModel Moniker -->
  <xsd:element name="libraryModelContextHasSerializationModelMoniker" type="LibraryModelContextHasSerializationModelMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="LibraryModelContextHasSerializationModelMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for LibraryModelContextHasSerializationModel instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasPropertyGridEditors -->
  <xsd:element name="metaModelHasPropertyGridEditors" abstract="true" type="MetaModelHasPropertyGridEditors" substitutionGroup="core:modelElement" />
  <xsd:complexType name="MetaModelHasPropertyGridEditors" abstract="true" >
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end PropertyGridEditor -->
          <xsd:element ref="propertyGridEditor" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- MetaModelHasPropertyGridEditors Moniker -->
  <xsd:element name="metaModelHasPropertyGridEditorsMoniker" abstract="true" type="MetaModelHasPropertyGridEditorsMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="MetaModelHasPropertyGridEditorsMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for MetaModelHasPropertyGridEditors instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewHasModelTree -->
  <xsd:element name="viewHasModelTree" type="ViewHasModelTree" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ViewHasModelTree">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ModelTree -->
          <xsd:element ref="modelTree" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ViewHasModelTree Moniker -->
  <xsd:element name="viewHasModelTreeMoniker" type="ViewHasModelTreeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ViewHasModelTreeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ViewHasModelTree instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternModelContextReferencesModelContext -->
  <xsd:element name="externModelContextReferencesModelContext" type="ExternModelContextReferencesModelContext" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ExternModelContextReferencesModelContext">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ModelContext -->
          <xsd:element ref="modelContextMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ExternModelContextReferencesModelContext Moniker -->
  <xsd:element name="externModelContextReferencesModelContextMoniker" type="ExternModelContextReferencesModelContextMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ExternModelContextReferencesModelContextMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ExternModelContextReferencesModelContext instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DesignerDiagramClassReferencesImportedDiagramClasses -->
  <xsd:element name="designerDiagramClassReferencesImportedDiagramClasses" type="DesignerDiagramClassReferencesImportedDiagramClasses" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DesignerDiagramClassReferencesImportedDiagramClasses">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DiagramClass -->
          <xsd:element ref="diagramClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DesignerDiagramClassReferencesImportedDiagramClasses Moniker -->
  <xsd:element name="designerDiagramClassReferencesImportedDiagramClassesMoniker" type="DesignerDiagramClassReferencesImportedDiagramClassesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DesignerDiagramClassReferencesImportedDiagramClassesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DesignerDiagramClassReferencesImportedDiagramClasses instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassReferencesBaseShape -->
  <xsd:element name="shapeClassReferencesBaseShape" type="ShapeClassReferencesBaseShape" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ShapeClassReferencesBaseShape">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end ShapeClass -->
          <xsd:element ref="shapeClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ShapeClassReferencesBaseShape Moniker -->
  <xsd:element name="shapeClassReferencesBaseShapeMoniker" type="ShapeClassReferencesBaseShapeMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ShapeClassReferencesBaseShapeMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ShapeClassReferencesBaseShape instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DesignerDiagramClassReferencesIncludedDiagramClasses -->
  <xsd:element name="designerDiagramClassReferencesIncludedDiagramClasses" type="DesignerDiagramClassReferencesIncludedDiagramClasses" substitutionGroup="core:modelElement" />
  <xsd:complexType name="DesignerDiagramClassReferencesIncludedDiagramClasses">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DiagramClass -->
          <xsd:element ref="diagramClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- DesignerDiagramClassReferencesIncludedDiagramClasses Moniker -->
  <xsd:element name="designerDiagramClassReferencesIncludedDiagramClassesMoniker" type="DesignerDiagramClassReferencesIncludedDiagramClassesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="DesignerDiagramClassReferencesIncludedDiagramClassesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for DesignerDiagramClassReferencesIncludedDiagramClasses instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SpecificDependencyDiagramReferencesDomainClass -->
  <xsd:element name="specificDependencyDiagramReferencesDomainClass" type="SpecificDependencyDiagramReferencesDomainClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SpecificDependencyDiagramReferencesDomainClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainClass -->
          <xsd:element ref="domainClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SpecificDependencyDiagramReferencesDomainClass Moniker -->
  <xsd:element name="specificDependencyDiagramReferencesDomainClassMoniker" type="SpecificDependencyDiagramReferencesDomainClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SpecificDependencyDiagramReferencesDomainClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SpecificDependencyDiagramReferencesDomainClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModalDiagramReferencesDomainClass -->
  <xsd:element name="modalDiagramReferencesDomainClass" type="ModalDiagramReferencesDomainClass" substitutionGroup="core:modelElement" />
  <xsd:complexType name="ModalDiagramReferencesDomainClass">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainClass -->
          <xsd:element ref="domainClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- ModalDiagramReferencesDomainClass Moniker -->
  <xsd:element name="modalDiagramReferencesDomainClassMoniker" type="ModalDiagramReferencesDomainClassMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="ModalDiagramReferencesDomainClassMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for ModalDiagramReferencesDomainClass instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SpecificElementsDiagramReferencesDomainClasses -->
  <xsd:element name="specificElementsDiagramReferencesDomainClasses" type="SpecificElementsDiagramReferencesDomainClasses" substitutionGroup="core:modelElement" />
  <xsd:complexType name="SpecificElementsDiagramReferencesDomainClasses">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainClass -->
          <xsd:element ref="domainClassMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- SpecificElementsDiagramReferencesDomainClasses Moniker -->
  <xsd:element name="specificElementsDiagramReferencesDomainClassesMoniker" type="SpecificElementsDiagramReferencesDomainClassesMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="SpecificElementsDiagramReferencesDomainClassesMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for SpecificElementsDiagramReferencesDomainClasses instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RelationshipShapeClassReferencesReferenceRelationship -->
  <xsd:element name="relationshipShapeClassReferencesReferenceRelationship" type="RelationshipShapeClassReferencesReferenceRelationship" substitutionGroup="core:modelElement" />
  <xsd:complexType name="RelationshipShapeClassReferencesReferenceRelationship">
    <xsd:complexContent>
      <xsd:extension base="core:ModelElement">
        <xsd:sequence minOccurs="0" maxOccurs="1">
          <!-- Target end DomainRelationship -->
          <xsd:element ref="domainRelationshipMoniker" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
              <xsd:documentation>[Target role-player]</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
        <!-- Id -->
        <xsd:attribute name="Id" type="xsd:string">
          <xsd:annotation>
            <xsd:documentation>Instance Guid of this element, needed because SerializeId is set to true.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- RelationshipShapeClassReferencesReferenceRelationship Moniker -->
  <xsd:element name="relationshipShapeClassReferencesReferenceRelationshipMoniker" type="RelationshipShapeClassReferencesReferenceRelationshipMoniker" substitutionGroup="core:modelElementMoniker" />
  <xsd:complexType name="RelationshipShapeClassReferencesReferenceRelationshipMoniker">
    <xsd:annotation>
      <xsd:documentation>Moniker for RelationshipShapeClassReferencesReferenceRelationship instance.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexContent>
      <xsd:extension base="core:ModelElementMoniker">
        <xsd:attribute name="Id" type="xsd:string" >
          <xsd:annotation>
            <xsd:documentation>Attribute to store the moniker string.</xsd:documentation>
          </xsd:annotation>
        </xsd:attribute>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  
  <!-- Enum AccessModifier -->
  <xsd:simpleType name="AccessModifier">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Public"/>
      <xsd:enumeration value="Assembly"/>
      <xsd:enumeration value="Private"/>
      <xsd:enumeration value="Family"/>
      <xsd:enumeration value="FamilyOrAssembly"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum TrackingEnum -->
  <xsd:simpleType name="TrackingEnum">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="True"/>
      <xsd:enumeration value="False"/>
      <xsd:enumeration value="IgnoreOnce"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum InheritanceModifier -->
  <xsd:simpleType name="InheritanceModifier">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="None"/>
      <xsd:enumeration value="Abstract"/>
      <xsd:enumeration value="Sealed"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum Multiplicity -->
  <xsd:simpleType name="Multiplicity">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="ZeroMany"/>
      <xsd:enumeration value="One"/>
      <xsd:enumeration value="ZeroOne"/>
      <xsd:enumeration value="OneMany"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum SerializationRepresentationType -->
  <xsd:simpleType name="SerializationRepresentationType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Attribute"/>
      <xsd:enumeration value="Element"/>
      <xsd:enumeration value="InnerValue"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum PropertyGeneration -->
  <xsd:simpleType name="PropertyGeneration">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Automatic"/>
      <xsd:enumeration value="Manual"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum SerializationStyle -->
  <xsd:simpleType name="SerializationStyle">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Normal"/>
      <xsd:enumeration value="CDATA"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum SerializationElementType -->
  <xsd:simpleType name="SerializationElementType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="DomainModel"/>
      <xsd:enumeration value="DomainClass"/>
      <xsd:enumeration value="EmbeddingRelationship"/>
      <xsd:enumeration value="ReferenceRelationship"/>
      <xsd:enumeration value="DomainProperty"/>
      <xsd:enumeration value="IdProperty"/>
      <xsd:enumeration value="DomainRole"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum RelativeChildBehaviour -->
  <xsd:simpleType name="RelativeChildBehaviour">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="None"/>
      <xsd:enumeration value="PositionRelativeToParent"/>
      <xsd:enumeration value="PositionOnEdgeOfParent">
        <xsd:annotation>
          <xsd:documentation>Port like behaviour</xsd:documentation>
        </xsd:annotation>
      </xsd:enumeration>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum PropertyKind -->
  <xsd:simpleType name="PropertyKind">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Normal"/>
      <xsd:enumeration value="Calculated"/>
      <xsd:enumeration value="CustomStorage"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum EditorBaseType -->
  <xsd:simpleType name="EditorBaseType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="BooleanEditorViewModel"/>
      <xsd:enumeration value="EnumerationEditorViewModel"/>
      <xsd:enumeration value="LookupListEditorViewModel"/>
      <xsd:enumeration value="MultipleRoleEditorViewModel"/>
      <xsd:enumeration value="PropertyEditorViewModel"/>
      <xsd:enumeration value="RoleEditorViewModel"/>
      <xsd:enumeration value="StringEditorViewModel"/>
      <xsd:enumeration value="UnaryRoleEditorViewModel"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum SortingBehavior -->
  <xsd:simpleType name="SortingBehavior">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="None"/>
      <xsd:enumeration value="Alphabetical"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum DiagramVisualizationBehavior -->
  <xsd:simpleType name="DiagramVisualizationBehavior">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="Normal">
        <xsd:annotation>
          <xsd:documentation>Elements are deleted from the model as they are deleted from the diagram surface.</xsd:documentation>
        </xsd:annotation>
      </xsd:enumeration>
      <xsd:enumeration value="Extended">
        <xsd:annotation>
          <xsd:documentation>Elements are not deleted from the model as they are delted from the surface and therefore a selected visualization is possible.</xsd:documentation>
        </xsd:annotation>
      </xsd:enumeration>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum AnchorStyle -->
  <xsd:simpleType name="AnchorStyle">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="None"/>
      <xsd:enumeration value="Arrow"/>
      <xsd:enumeration value="Diamond"/>
    </xsd:restriction>
  </xsd:simpleType>
  
  <!-- Enum LanguageType -->
  <xsd:simpleType name="LanguageType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="VMXEditor"/>
      <xsd:enumeration value="VMXLibrary"/>
      <xsd:enumeration value="WPFEditor"/>
      <xsd:enumeration value="WPFLibrary"/>
      <xsd:enumeration value="VSPlugin"/>
    </xsd:restriction>
  </xsd:simpleType>
  
</xsd:schema>

